0

フラスコ アプリから html テンプレートに文字列のリストを渡しています。これは、リストを追加しようとするまで完全に正常に動作します。クライアント側の Python スクリプトを使用して追加メソッドの使用法をテストしましたが、機能しています。リストを追加すると内部サーバー エラーが発生する理由がわかりません。パラメータを使用するテンプレートのセクションは次のとおりです

<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.

追加はエラーを引き起こしていなかったようですが、エラーを公開しているようです。これが整理されたら更新します。

4

1 に答える 1