我是Python和Django的新手,我正在尝试使用PyCharm创建url正则表达式,但是我不知道为什么它不起作用。
我有这个例子...
from django.contrib import admin
from django.urls import path
from .views import (home, client_detail,)
urlpatterns = [
path(r'^$', home),
path(r'^/cliente/(?P<id>\d+)/$', client_detail),
path(r'admin/', admin.site.urls),
]
我有一个 views.py ,其中包含以下代码:
from django.http import HttpResponse
def home(request):
return HttpResponse('HOME')
def client_detail(request, id):
return HttpResponse(id)
问题是:当我写path(r'^/cliente/(?P<id>\d+)/$', client_detail)
而不是path(r'/cliente/<id>', client_detail)
时,我收到下面的打印错误
有人可以告诉我我失踪了吗?提前致谢! :)
答案 0 :(得分:2)
您正在使用path
,但是您的模式是正则表达式。然后使用re_path
:
https://docs.djangoproject.com/en/2.1/ref/urls/#re-path
re_path(r'^/cliente/(?P<id>\d+)/$', client_detail),