2016-03-26 7 views
-2

私はいただきました!このコードで間違っている知っているが、「はTypeError: 『関数』オブジェクトが反復可能ではありません」を取得しないことが適切「/ FILESTREAM」のためではなく、「/ allfile」なぜTypeErrorを取得する: '関数'オブジェクトは反復可能ではありませんか?

Pythonのコードのために働くだ

@app.route('/allfile') 
@login_required 
def allfile(): 
    fileStream = models.File.select().limit(100) 
    return render_template('filestream.html', filestream=filestream) 

@app.route('/filestream') 
#@app.route('/filestream/<username>') 
def filestream(username=None): 
    template = 'fileStream.html' 
    if username and username != current_user.username: 
     user =  models.User.select().where(models.User.username**username).get() # the ** is  the "like" operator (non-case sensitive comparison) 
     filestream = user.files.limit(100) 
    else: 
     filestream = current_user.get_filestream().limit(100) 
     user = current_user 
    #if username: 
     #template = 'user_stream.html' 
    return render_template(template, filestream=filestream, user=user) 

HTMLコードallfile()インサイド

{% extends "layout.html" %} 

{% block content %} 
{% for file in filestream %} 
    <article> 
    <h2> 
     <a href="{{ url_for('filestream', username=file.user.username) }}"> 
     {{ file.user.username }} 
     </a> 
    </h2> 
    <i class="clock"></i> 
    <time data-time="{{ file.timestamp }}" }}"> 
     {{ file.timestamp.strftime('%Y-%m-%d %H:%M:%S') }} 
    </time> 
    <!-- <a href="{{ url_for('view_file', file_id=file.id) }}"  class="view">View</a>--> 
    <div class="file"> 
     <a href="{{ file.path}}"</a> 
     <img src="{{ file.path }}" alt=""  style="width:521px;height:512px;"> 
    </div> 
    </article> 
{% endfor %} 
{% endblock %} 
+0

完全なトレースバックを提供してください –

+0

また、あなたのpythonコードの残りの部分... – Signal

答えて

1

あなたはと呼ばれるローカル変数を定義、大文字のSを使用します。テンプレートに渡すものはfilestreamで、小文字のSを使用します。これはローカルで定義されていないので、Pythonはfilestream()ハンドラを参照するモジュールレベルの名前を使用します。

関数で一貫した大文字を使用していることを確認してください。