如何通过自动添加字符串'/ foo'作为从url_for生成的url的前缀来在flask中重新定义url_for?

时间:2019-08-14 06:13:35

标签: flask url-for

它看起来很奇怪,但这正是我想要实现的目标,它与设计图无关,也没有为所有路由器添加前缀。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以定义自己的:

# 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

尽管简单地导入并使用自己的实现也许更好。