1

初めて Flask で SQLite を使用し、データベースに挿入したばかりのデータを取得しようとしています。JSON データをデータベースに挿入する POST リクエストは正常に機能します (または、少なくともエラーを返しません)。

確認するために挿入したものをすべて表示しようとしており、次のようにしています。

cur = db.execute('select * from places order by id')
entries = [dict(lat=row[0], long=row[1], address=row[2], name=row[3]) for row in cur.fetchall()]
return entries

エラー 500 が返ってきます。なぜこうなった?私は2つの例しか見つけることができませんでしたが、どちらも上記のことを行っています。

編集:

Flasks のエラーは次のとおりです。

Traceback (most recent call last):
  File "/Users/nayef/.virtualenvs/uber-api/lib/python2.7/site-packages/flask/app.py", line 1701, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Users/nayef/.virtualenvs/uber-api/lib/python2.7/site-packages/flask/app.py", line 1689, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/Users/nayef/.virtualenvs/uber-api/lib/python2.7/site-packages/flask/app.py", line 1687, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/nayef/.virtualenvs/uber-api/lib/python2.7/site-packages/flask/app.py", line 1361, in full_dispatch_request
    response = self.make_response(rv)
  File "/Users/nayef/.virtualenvs/uber-api/lib/python2.7/site-packages/flask/app.py", line 1450, in make_response
    rv = self.response_class.force_type(rv, request.environ)
  File "/Users/nayef/.virtualenvs/uber-api/lib/python2.7/site-packages/werkzeug/wrappers.py", line 711, in force_type
    response = BaseResponse(*_run_wsgi_app(response, environ))
  File "/Users/nayef/.virtualenvs/uber-api/lib/python2.7/site-packages/werkzeug/wrappers.py", line 55, in _run_wsgi_app
    return _run_wsgi_app(*args)
  File "/Users/nayef/.virtualenvs/uber-api/lib/python2.7/site-packages/werkzeug/test.py", line 818, in run_wsgi_app
    app_iter = app(environ, start_response)
TypeError: 'list' object is not callable
4

1 に答える 1

0

リターンをお試しくださいreturn repr(entries)。ビューは、リスト オブジェクトではなく文字列を返す必要があります。何らかの理由でリストを返すと、フラスコはそれを呼び出そうと試み、TypeError: 'list' object is not callableエラーが発生します。

于 2012-11-09T04:49:14.933 に答える