具有不同url_prefix且视图具有相同路由的烧瓶蓝图将覆盖URL映射

时间:2020-02-20 11:17:10

标签: flask view url-routing blueprint

这是示例代码,

/ 初始化 .py

test_bp = Blueprint("test", __name__) # blueprint for my app

/urls.py

test_bp.add_url_rule('search/', view_func=TestSearch1.as_view('test1'), methods=['POST'])
app.register_blueprint(test_bp, url_prefix=f"/api/v1/")

test_bp.add_url_rule('search/', view_func=TestSearch2.as_view('test2'), methods=['POST'])
app.register_blueprint(test_bp, url_prefix=f"/api/v2/")

当我尝试检查url_map时 >>app.url_map

我得到以下结果

Map([<Rule '/api/v1/search/' (OPTIONS, POST) -> test.test1>,
<Rule '/api/v2/search/' (OPTIONS, POST) -> test.test1>,
<Rule '/api/v2/search/' (OPTIONS, POST) -> test.test2>,
<Rule '/static/<filename>' (OPTIONS, GET, HEAD) -> static>])

为什么'/api/v2/search/'也与test.test1映射? 当我调用'/api/v2/search/' api TestSearch1而不是TestSearch2

被执行时

0 个答案:

没有答案
相关问题