如何通过自动添加字符串 '/foo' 作为从 url_for 生成的 url 的前缀来重新定义 flask 中的 url_for?
How to redefine url_for in flask by automatically adding a string '/foo' as a prefix of the url generated from url_for?
看起来可能很奇怪,但这正是我想要实现的,它与蓝图无关,也与所有路由器添加前缀无关。谢谢!
您可以定义自己的:
# url_for_custom.py
import flask
def url_for(endpoint, **values):
url = flask.url_for(endpoint, **values)
if not values.get('_external', False):
url = '/foo' + url
return url
如果你想在全球范围内改变它,你可以早点进行猴子补丁:
# __init__.py
import flask
from url_for_custom import url_for
flask.url_for = url_for
尽管简单地导入并使用您自己的实现可能更好。
看起来可能很奇怪,但这正是我想要实现的,它与蓝图无关,也与所有路由器添加前缀无关。谢谢!
您可以定义自己的:
# url_for_custom.py
import flask
def url_for(endpoint, **values):
url = flask.url_for(endpoint, **values)
if not values.get('_external', False):
url = '/foo' + url
return url
如果你想在全球范围内改变它,你可以早点进行猴子补丁:
# __init__.py
import flask
from url_for_custom import url_for
flask.url_for = url_for
尽管简单地导入并使用您自己的实现可能更好。