- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有以下非常简单的应用程序:
from lib.flask import Flask
from lib.flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class TestResource(Resource):
def get(self):
return {"a":"b","c":"d"}
api.add_resource(TestResource, "/")
当我运行它时,我得到以下异常:
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 266, in Handle
result = handler(dict(self._environ), self._StartResponse)
File "/Users/me/dev/project/src/main.py", line 22, in do_in_request
app(*args, **kwargs)
File "/Users/me/dev/project/src/lib/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Users/me/dev/project/src/lib/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Users/me/dev/project/src/lib/flask_restful/__init__.py", line 249, in error_router
if self._has_fr_route():
File "/Users/me/dev/project/src/lib/flask_restful/__init__.py", line 230, in _has_fr_route
if self._should_use_fr_error_handler():
File "/Users/me/dev/project/src/lib/flask_restful/__init__.py", line 211, in _should_use_fr_error_handler
adapter = self.app.create_url_adapter(request)
File "/Users/me/dev/project/src/lib/flask/app.py", line 1601, in create_url_adapter
return self.url_map.bind_to_environ(request.environ,
File "/Users/me/dev/project/src/lib/werkzeug/local.py", line 338, in __getattr__
return getattr(self._get_current_object(), name)
File "/Users/me/dev/project/src/lib/werkzeug/local.py", line 297, in _get_current_object
return self.__local()
File "/Users/me/dev/project/src/lib/flask/globals.py", line 20, in _lookup_req_object
raise RuntimeError('working outside of request context')
RuntimeError: working outside of request context
所以我尝试将我的整个应用程序放入我认为是请求上下文的地方。上面的代码中,Flask对象和Api对象都是被实例化一次,可以被服务端多次调用。从回溯来看,实例化似乎应该发生在请求上下文中,所以我将它包装成这样:
def do_in_request(*args, **kwargs):
from lib.flask import Flask
from lib.flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class TestResource(Resource):
def get(self):
return {"a":"b","c":"d"}
api.add_resource(TestResource, "/")
app(*args, **kwargs)
app = do_in_request
这仍然会引发相同的错误。这是怎么回事,“请求上下文”是什么意思,我该如何解决这个问题?
最佳答案
我从头开始使用 App Engine Flask Skeleton并在 requirements.txt
中添加了 flask-restful
作为依赖项,然后或多或少地添加了上面的代码,并且没有问题。我将存储库添加到 my github here如果你想使用它——你可以在 this commit 中看到我对骨架所做的更改。 .
我不确定为什么您的示例不起作用,但我注意到可能导致问题的一件事是您正在执行 from lib.flask ...
。您的第三方包似乎位于 lib
中,您不一定将 lib
“提升”到您的 sys.path
中。骨架包括 vendoring library确保正确处理。它可能是问题的潜在来源。
无论哪种方式,我希望 fork 骨架可以帮助您入门和运行。
关于python - 在 Google App Engine 上运行简单的 flask_restful 应用程序时出现 RuntimeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20979770/
我有以下 flak_restful 文件可将 csv 文件返回给用户,但出现以下错误。 File "/usr/local/Cellar/python3/3.6.1/Frameworks/Pytho
我有一个简单的带有 Flask-Restful 的 restful 应用 from flask import Flask from flask_restful import Api app = Fla
我正在尝试部署 appengine flex python 应用程序,但在部署后在 Stackdriver 日志 stderr 中获得以下信息 File "/env/local/lib/pytho
我设置了一个 flask_restful API,但希望用户在进行 post 调用时传递 numpy 数组。我第一次尝试使用 reqparse来自 flask_restful 但它不支持 numpy.
我有一个 flash/flask_result 应用程序设置如下。如何向整个应用程序添加自定义全局 404 错误消息?我应该用 Tornado 还是 flask 来做? from flask impo
Flask RESTApi 新手在这里 我正在尝试使用 .txt 在 Flask 中构建 RESTapi 服务(并且我正在尝试将输出保存为 flask_restful 文件)使用 pydifact 获
我正在 flask 中开发 REST API,并计划在 Gunicorn 中运行它。在我的应用程序中,用户定义的异常由 flask errorhandler 装饰器处理。它在 flask 内置 Web
我有以下非常简单的应用程序: from lib.flask import Flask from lib.flask_restful import Resource, Api app = Flask(_
我在 Flask 应用程序中遇到了这个错误: curl http://0.0.0.0:8080/ -H "Authorization: Bearer TGazPL9rf3aIftplCYDTGDc8c
我是一名优秀的程序员,十分优秀!