在Flask中,当我为同一功能使用多个路由时,如何知道当前使用的是哪个路由?
例如:
@app.route("/antitop/") @app.route("/top/") @requires_auth def show_top(): ....
我怎么知道,现在我被称为使用/top/或/antitop/?
/top/
/antitop/
更新
我知道request_path我不想使用它,因为请求可能相当复杂,并且我想在函数中重复路由逻辑。我认为url_rule最好的解决方案。
request_path
url_rule
检查触发你的视图的路线的最“轻松”方法是request.url_rule。
from flask import request rule = request.url_rule if 'antitop' in rule.rule: # request by '/antitop' elif 'top' in rule.rule: # request by '/top'
只需使用request.path。
request.path
from flask import request ... @app.route("/antitop/") @app.route("/top/") @requires_auth def show_top(): ... request.path ...