django 无法识别正则表达式

regular expression not recognized by django

我是 Django 的新手,我正在尝试创建一个简单的路径,稍后 link 它到数据库,现在:我在我的音乐应用程序中创建了这个 URL 路径:

urlpatterns = [
# /music/
path('', views.index, name='index'),

# /music/*****/
path(r'^(?P<album_id>[0-9]+)/$', views.detail, name='detail'),
]

我把这个添加到 views.py:

def detail(request, album_id):
    return HttpResponse("<h2>Details for Album id: " + str(album_id) + "</h2>")

但它不起作用,每次我要求这个 url: http://localhost:8000/music/2 我得到 "Page not found"

请帮忙。谢谢

我们可以为您的用例使用 django 路径转换。所以,请 改变

path(r'^(?P<album_id>[0-9]+)/$', views.detail, name='detail'),

path('<int:album_id>/', views.detail, name='detail'),

参考:https://learnbatta.com/blog/custom-path-converters-in-django-17/