Python Pyramid 路由前缀
很多时候,类似的URL模式在不止一个Python代码模块中被注册为不同的路由。例如,我们有一个 student_routes.py ,其中/list和/add的URL模式被注册为’list’和’add’路由。与这些路由相关的视图函数分别是 list() 和 add() 。
这些路由最终会在调用 students() 函数时被注册。
同时,还有book_routes.py,其中相同的URL /list 和 add/ 被注册到’show’和’new’路由中。它们相关的视图分别是list()和add()。该模块有 books() 函数,用于添加路由。
很明显,URL模式之间存在冲突,因为’/list’和’/add’分别指向两条路由,这个冲突必须解决。这可以通过使用 config.include() 方法的 route_prefix 参数来完成。
config.include()的第一个参数是添加路由的函数,第二个参数是route_prefix字符串,它将被预加到包含的函数中使用的URL模式。
因此,语句中
将导致’/list’URL模式变为’/student/list’,’/add’变为’student/add’。同样地,我们可以在books()函数中为这些URL模式添加前缀。
例子
启动服务器的代码如下所示
输出
让我们运行上述代码,并通过以下CURL命令测试路线。