我遇到的问题是:
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),
]
我是一名优秀的程序员,十分优秀!