这是我的music \ urls.py代码: -
#/music/
url(r'^/$', views.index, name='index'),
#/music/712/
url(r'^(?P<album_id>[0-9]+)/$', views.detail, name='detail'),
这是我的views.py代码: -
def index(request):
return HttpResponse("This will be a list of all the albums")
def detail(request, album_id):
return HttpResponse("Details for album id: " + str(album_id))
为什么每当我尝试在浏览器中打开此链接127.0.0.1:8000/music/2/时,都会收到Page not found(404)错误
错误消息: -
找不到页面(404) 请求方法:GET 请求网址:http://127.0.0.1:8000/music/2/ 使用website.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式: ^管理员/ ^ music ^ / $ [name ='index'] ^音乐^(?P [0-9] +)/ $ [name ='detail'] 当前网址music / 2 /与其中任何一个都不匹配。
请帮助!
答案 0 :(得分:1)
您的网址格式缺少music
和<album_id>
之间的斜线 - 目前,它们会匹配/music2/
而不是/music/2/
。
将缺少的斜杠添加到包含音乐网址的网址模式中:
url('^music/', include('music.urls')),
然后从索引模式中删除斜杠以避免双斜杠。
url(r'^$', views.index, name='index'),