2 回答

TA贡献1846条经验 获得超7个赞
从 Django 2url()开始,被替换为path()and re_path()。如果你没有使用 Django 1,你可以更新你的代码以使用path().
from django.urls import path, include
urlpatterns = [
path('accounts/', include('allauth.urls')),
]
为了匹配带有 RegEx 的路径,如 Django 1url()函数,您可以re_path()像这样使用...
from django.urls import path, include
urlpatterns = [
re_path(r'^accounts/', include('allauth.urls')),
]
但是,由于您尝试匹配的路径非常简单,我建议您使用path(). 它节省了执行正则表达式匹配的开销。尽可能多地path()使用。re_path()
您可以在官方 Django 文档中阅读更多信息。请参阅下面的链接。

TA贡献1836条经验 获得超4个赞
您可能正在使用Django 2.x
为了django-1.x,你不能使用这样path(..)
的s,在这种情况下你需要写一个正则表达式,比如:
url(r'^complete/(?P<todo_id>[0-9]+)$', views.completeTodo, name='complete'),
如果您正在使用django-2.x,您可能想使用path(..)
,就像您拥有的一样。
我相信这可能与您设置正则表达式的方式有关。
对于 url,而不是这个:
url('complete/<todo_id>', views.completeTodo, name='complete'),
尝试这个:
url(r'^complete/(?P<todo_id>\d+)$', views.completeTodo, name='complete'),
或者如果你想使用 [ path
]
path('complete/<int:todo_id>', views.completeTodo, name='complete'),
添加回答
举报