2016-04-09 12 views
0

フラスコのアプリケーションからhtmlテンプレートに文字列のリストを渡しています。クライアント側のPythonスクリプトを使用してappendメソッドの使用方法をテストしたところ、動作しています。なぜ私のリストを追加すると内部サーバーのエラーが発生するのか困惑しています。ここでは、ここでパラメータにBluemix Python Flask appは、list.append()を使用してテンプレートにパラメータを渡します。

<ul> 
    {% for file in files %} 
    <li>{{ file }}</li> 
    {% endfor %} 
</ul> 

を使用していますそして、私のテンプレートのセクションには、私のフラスコアプリでルートがいます

@app.route('/') 
def main(): 
    FILES = [ 'test1', 'test2' ] 

    # Iterate through each file in the cloud storage container 
    for container in conn.get_account()[1]: 
     for data in conn.get_container(container['name'])[1]: 
      print 'object: {0}t size: {1}t date: {2}'.format(data['name'], data['bytes'], data['last_modified']) 
      FILES.append('test3') 
    return render_template('index.html', files = FILES) 

ラインFILES.append(「TEST3」)問題を引き起こしているが、私は」なぜわからないのですか?この行をコメントアウトすると、リストはテンプレートに渡されます。ここで

は完全なトレースバック

Traceback (most recent call last): 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__ 
    return self.wsgi_app(environ, start_response) 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app 
    response = self.make_response(self.handle_exception(e)) 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception 
    reraise(exc_type, exc_value, tb) 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app 
    response = self.full_dispatch_request() 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request 
    rv = self.handle_user_exception(e) 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception 
    reraise(exc_type, exc_value, tb) 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request 
    rv = self.dispatch_request() 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request 
    return self.view_functions[rule.endpoint](**req.view_args) 
    File "/home/vcap/app/server.py", line 93, in main 
    for container in conn.get_account()[1]: 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/swiftclient/client.py", line 1615, in get_account 
    full_listing=full_listing) 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/swiftclient/client.py", line 1553, in _retry 
    self.url, self.token = self.get_auth() 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/swiftclient/client.py", line 1507, in get_auth 
    timeout=self.timeout) 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/swiftclient/client.py", line 617, in get_auth 
    auth_version=auth_version) 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/swiftclient/client.py", line 517, in get_auth_keystone 
    ksclient, exceptions = _import_keystone_client(auth_version) 
    File "/home/vcap/app/.heroku/python/lib/python2.7/site-packages/swiftclient/client.py", line 502, in _import_keystone_client 
    variables to be set or overridden with -A, -U, or -K.''') 
ClientException: 
Auth versions 2.0 and 3 require python-keystoneclient, install it or use Auth 
version 1.0 which requires ST_AUTH, ST_USER, and ST_KEY environment 
variables to be set or overridden with -A, -U, or -K. 

追記がエラーを引き起こしますが、1を露出していなかったように思えるのです。これがソートされると私は更新します。

+0

実際のエラーとは何ですか?完全なトレースバックを含めるように質問を編集してください。見つかる場所がわからない場合は、ログを確認するか、デバッグモードを有効にしてください。 – dirn

答えて

0

トレースバックの最後に示されているように、私のアプリケーション要件とインポート文の両方にpython-keystoneclientがありませんでした。

私はその後、私のフラスコアプリ

にインポートを追加することができ(のpython-Herokuの-buildpackための要件ファイルです)私のrequirements.txtに

python-keystoneclient 

を追加することで、これを固定

import keystoneclient.v3 as keystoneclient 
関連する問題