【问题标题】:regular expression not recognized by djangodjango 无法识别正则表达式
【发布时间】:2018-11-21 10:53:25
【问题描述】:

我是 Django 新手,我正在尝试创建一个简单的路径,以便稍后将其链接到数据库:我在我的音乐应用程序中创建了这个 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>")

但它不起作用,每次我要求这个网址时:http://localhost:8000/music/2我得到“找不到页面”

请帮忙。谢谢。

【问题讨论】:

  • path(r'^(?P&lt;album_id&gt;[0-9]+)/$', views.detail, name='detail'), 此行不正确。用户 re_path 或 url。更好的选择是path('&lt;int:album_id&gt;/', views.detail, name='detail')

标签: django django-views django-2.1


【解决方案1】:

我们可以为您的用例使用 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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-16
    • 2017-12-08
    • 1970-01-01
    相关资源
    最近更新 更多