我遇到的问题是:
url(r'^books/(.*?)/$', views.list_books),
url(r'^books/(.*?)/availability/$', views.book_availability),
我一直使用 (.*?) 来匹配任何内容,但在这种情况下它不起作用,因为它无论如何都匹配第一个模式。基本上我想让这个工作:books/A56/availability,但是 A56/availability 匹配 books/(.*?)/$ 和不像它应该的那样 books/(.*?)/availability/$。
我将如何匹配它?我想我想要的是“匹配任何东西,直到向前冲刺”或类似的东西。
请您参考如下方法:
如 documentation 中所述:
Django runs through each URL pattern, in order, and stops at the first one that matches the requested URL.
所以你应该把第二个模式放在第一个或name your url patterns之前
urlpatterns = [
url(r'^books/(.*?)/availability/$', views.book_availability),
url(r'^books/(.*?)/$', views.list_books),
]
