猿问

Django url 显示错误:未解析的引用

我在 urls.py 中有一个 url 路径:


urlpatterns = [

...

url(r'^accounts/', include('allauth.urls')),

...

]


但 url 会显示:未解析的参考 'url'。我错过了要导入的东西吗?


幕布斯7119047
浏览 614回答 2
2回答

喵喵时光机

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

HUH函数

您可能正在使用Django 2.x为了django-1.x,你不能使用这样path(..)的s,在这种情况下你需要写一个正则表达式,比如:&nbsp;&nbsp;&nbsp;&nbsp;url(r'^complete/(?P<todo_id>[0-9]+)$',&nbsp;views.completeTodo,&nbsp;name='complete'),如果您正在使用django-2.x,您可能想使用path(..),就像您拥有的一样。我相信这可能与您设置正则表达式的方式有关。对于 url,而不是这个:url('complete/<todo_id>', views.completeTodo, name='complete'),尝试这个:url(r'^complete/(?P<todo_id>\d+)$',&nbsp;views.completeTodo,&nbsp;name='complete'),或者如果你想使用 [&nbsp;path]path('complete/<int:todo_id>',&nbsp;views.completeTodo,&nbsp;name='complete'),
随时随地看视频慕课网APP

相关分类

Python
我要回答