如何使用flask.url_for()和flask-restful?

Hou*_*man 11 python flask flask-restful

我已经像这样设置了Flask:

api = Api(app, decorators=[csrf_protect.exempt])
api.add_resource(FTRecordsAPI,
                 '/api/v1.0/ftrecords/<string:ios_sync_timestamp>',
                 endpoint="api.ftrecord")
Run Code Online (Sandbox Code Playgroud)

我想在内部重定向到端点api.ftrecord.

但是我尝试这样做的那一刻:

base_url = flask.url_for('api.ftrecord')
Run Code Online (Sandbox Code Playgroud)

我得到一个例外.

  File "/Users/hooman/workspace/F11A/src/lib/werkzeug/routing.py", line 1620, in build
    raise BuildError(endpoint, values, method)
BuildError: ('api.ftrecord', {}, None)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Mar*_*ers 12

您需要为ios_sync_timestamp网址部分指定一个值:

flask.url_for('api.ftrecord', ios_sync_timestamp='some value')
Run Code Online (Sandbox Code Playgroud)

或者你可以使用Api.url_for(),它需要一个资源:

api.url_for(FTRecordsAPI, ios_sync_timestamp='some value')
Run Code Online (Sandbox Code Playgroud)