flask rest api 获取查询参数不适合我

flask restapi get query param not working for me

我有以下 python 使用 flaskrequest 的代码:

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

看来你的问题比较复杂。首先,您的路线不应包含 ?city=Tel-aviv,仅包含 URL.

的“静态”部分

替换此行:

@app.route('/v1/api/check_current_weather_by_city?city=Tel-aviv')

通过这条线:

@app.route('/v1/api/check_current_weather_by_city')

尽管存在这个问题,但它不应该引起您 RuntimeError: Working outside of request context.。一定要正确初始化 flask,app 是在这个文件中初始化的吗?您可能需要这样一行:app = Flask(__name__)

这是蓝图吗?如果是,请确保也对其进行初始化。检查 official documentation.