【发布时间】:2017-09-07 17:51:36
【问题描述】:
蓝图定义为
publicweb_bp = flask.Blueprint('publicweb', __name__, url_prefix='/<lang_code>/<country_code>/<market_code>')
我有一个索引路由定义为
@publicweb_bp.route('/', strict_slashes = False)
def pp_index():
return 'Hello'
另一个路由定义为
@publicweb_bp.route('/abc', strict_slashes = False)
def pp_index():
return 'Abcdefg :P'
问题是当我访问例如网址时
它总是把我送到
但是如果我访问
它让我坚持
我什至尝试过使用 strict_slashes 选项并将其关闭,但没有任何效果。
它似乎不起作用,甚至认为它适用于蓝图的所有其他 URL,例如'/abc'
我注意到的另一件事是,如果我不使用蓝图并使用 strict_slashes = False 在应用程序本身上定义“/”路由,它会按预期工作!
【问题讨论】:
-
是 abc 路径参数吗?
-
同一个question。也许会有用。
-
实际上你是在告诉索引路由匹配
url_prefix+'/'。尝试删除斜线,看看它是否工作。也尝试通过 curl 发出请求,因为,你知道,浏览器有缓存。 -
什么都试过了,好像没解决。
-
我有同样的问题,并认为它与@DanilaGranchar 链接的线程不同。我认为 url 是路由本身的唯一内容是
/的索引和abc路由之间的区别,它有其他文本要添加或删除斜杠。似乎您应该能够要求 bp 非严格地应用索引斜线,但在查找时没有找到解决方案。
标签: python python-3.x flask werkzeug