编辑:这不是前一个问题的完全重复。我刚刚解决了这个问题而没有按照所谓的重复答案的建议使用 - 所以建议的是错误的/不必要的。实际上问题出现了,因为我试图在不需要时使用它。
我有以下代码,试图加载页面localhost / music / 1 ...我一直在关注使用Django 1.9的教程。
抛出错误的代码是:
音乐/ urls.py
# this is matching /music/1 where 1 is the album id
path('(?P<album_id>)[0-9]+)/', views.detail, name='detail'), #note album_id is the variable being stored which can be passed
音乐/ views.py
def detail(request,album_id):
return HttpResponse("<h2>Details for Album id:" + str(album_id) + "</h2>")
错误消息:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/music/2
Using the URLconf defined in website.urls, Django tried these URL patterns, in this order:
admin/
music/ [name='index']
music/ (?P<album_id>)[0-9]+)/ [name='detail']
videos/
The current path, music/2, didn't match any of these.
任何人都可以发布解决问题的修复/答案。
由于
答案 0 :(得分:-1)
你有一个额外的括号“)”
path('(?P<album_id>)[0-9]+)/'
^
应该是
path('(?P<album_id>[0-9]+)/'
但无论如何,如果您使用django 2.0,check how to use path,它就不再使用这些正则表达式代码了。
修改强>
根据@Daniel Roseman的回答,path
不应该与正则表达式一起使用,尽管括号错字。