主键为的URL模式工作不正常

2024-09-29 06:22:08 发布

您现在位置:Python中文网/ 问答频道 /正文

需要URL中正则表达式的帮助。我正在构建一个不同的应用程序,而不是上面讲座中显示的应用程序。和我的讲座相关,学校是客户,学生是类别

在url.py文件中,从url_模式:

url(r'^(?P<pk>[-\w]+)/$', views.DetailClientList.as_view(), name='Detail_Client_List'),

这是正确的,地址为http://127.0.0.1:8000/App1/cli1/,其中cli1是客户机表主键(记录之一)

但是当我在url模式中放置下面的行时(而不是上面的)

url(r'^<str:pk>/$', views.DetailClientList.as_view(), name='Detail_Client_List')

我得到以下错误(int:pk的相同错误):


找不到页面(404)

请求方法:获取

请求URL:http://127.0.0.1:8000/App1/cli1/


结果URL在上述两种情况下都是相同的。那么我在这里哪里出了问题。我猜这是url模式regex的问题(尽管结果url是相同的?)

请帮忙。蒂亚


Tags: nameclientview应用程序urlas模式views
2条回答

你可能会误解^{} (Doc)^{} (Doc)

所以

from django.conf.urls import url

urlpatterns = [
    url(
        r'^(?P<pk>[-\w]+)/$',
        views.DetailClientList.as_view(),
        name='Detail_Client_List'
    ),
]

与以下内容相同

from django.urls import path

urlpatterns = [
    path(
        '<str:pk>',
        views.DetailClientList.as_view(),
        name='Detail_Client_List'
    )
]

尝试使用re_path而不是“url”

from django.urls import re_path, path
1.雷乌路
re_path(r'^<str:pk>/$', views.DetailClientList.as_view(), name='Detail_Client_List')
2.路径
path('<str:pk>/', views.DetailClientList.as_view(), name='Detail_Client_List')

相关问题 更多 >