Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 覆盖烧瓶url前缀_Python_Url_Flask - Fatal编程技术网

Python 覆盖烧瓶url前缀

Python 覆盖烧瓶url前缀,python,url,flask,Python,Url,Flask,我有一个包含许多路由的蓝图,它使用url\u前缀选项进行实例化: myxyz = Blueprint('xyz', __name__, url_prefix='/xyz') 这适用于所有路线,没有问题。但是,蓝图中的一条路由不需要此前缀,但仍然是蓝图的一部分 是否有方法覆盖蓝图中管线定义中的前缀 编辑: 似乎没有一种直接的方法,快速的解决方法是将前缀硬编码到所有需要它的路由中,这与我所要求的相反,但目前有效 我可以问一下,为什么要给蓝图加url_前缀,而不是在将蓝图附加到应用程序时?app.r

我有一个包含许多路由的蓝图,它使用url\u前缀选项进行实例化:

myxyz = Blueprint('xyz', __name__, url_prefix='/xyz')
这适用于所有路线,没有问题。但是,蓝图中的一条路由不需要此前缀,但仍然是蓝图的一部分

是否有方法覆盖蓝图中管线定义中的前缀

编辑:


似乎没有一种直接的方法,快速的解决方法是将前缀硬编码到所有需要它的路由中,这与我所要求的相反,但目前有效

我可以问一下,为什么要给蓝图加url_前缀,而不是在将蓝图附加到应用程序时?app.register_blueprintmyxyz,url_prefix='/xyz'可能是您在定义蓝图时无法使用url_前缀,而只是将url规则添加到各个视图函数中。如果您的视图函数数量有限,这将很好。url_前缀就在那里,因为这是我定义蓝图的地方,在那里定义蓝图比在我将蓝图传递给应用程序工厂以在应用程序上注册时更容易。似乎这并不重要,但对我来说,用蓝图本身进行管理似乎更为清晰。目前我的做法是相反的:为所有需要前缀的路由定义前缀,在定义中省略“url\u prefix=xyz”。对于路由定义或werkzeug规则定义,似乎没有“覆盖前缀”。您可能需要研究werkzeug规则的子类化。