问题描述
我有以下使用 python
和 flask
的 request
代码:
from flask import request
@app.route('/v1/api/check_current_weather_by_city?city=Tel-aviv')
def check_current_weather_by_city():
city = request.args.get('city')
但是city没有得到Tel-aviv的期望值,但是抛出异常:
_lookup_req_object
raise RuntimeError(_request_ctx_err_msg)
RuntimeError: Working outside of request context.
我正在使用此服务: https://openweathermap.org/current
解决方法
您的手中似乎有一些复杂的问题。首先,您的路由不应包含 tablets
,而应仅包含网址的“静态”部分。
替换这一行:
?city=Tel-aviv
通过这一行:
@app.route('/v1/api/check_current_weather_by_city?city=Tel-aviv')
尽管存在这个问题,但它不应该让您感到@app.route('/v1/api/check_current_weather_by_city')
。一定要正确初始化flask,RuntimeError: Working outside of request context.
是在这个文件中初始化的吗?您可能需要这样一行:app
这是蓝图吗?如果是,请务必对其进行初始化。检查 official documentation。