为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

幕布斯7119047 2022-10-18 17:54:29
我在 urls.py 中有一个 url 路径:urlpatterns = [...url(r'^accounts/', include('allauth.urls')),...]但 url 会显示:未解析的参考 'url'。我错过了要导入的东西吗?
查看完整描述

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 文档中阅读更多信息。请参阅下面的链接。

Django 3 文档

旧 Django 1 文档


查看完整回答
反对 回复 2022-10-18
?
HUH函数

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'),


查看完整回答
反对 回复 2022-10-18
  • 2 回答
  • 0 关注
  • 613 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号