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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django url显示错误:未解决的引用。相关的知识,希望对你有一定的参考价值。

我在urls.py里有一个url路径。

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

]

但url会显示:未解决引用'url'。我是不是漏掉了什么东西要导入?

答案

从Django 2开始 url() 改为 path()re_path(). 如果你没有使用Django 1,你可以更新你的代码来使用。path().

from django.urls import path, include

urlpatterns = [
    path('accounts/', include('allauth.urls')),
]

对于像Django 1这样用RegEx匹配路径的方法 url() 你可以使用 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文档

另一答案

您可能正在使用 Django 2.x

对于 ,你不能使用这样的 path(..)的,在这种情况下,你需要 写正则,像。

    url(r'^complete/(?P<todo_id>[0-9]+)$', views.completeTodo, name='complete'),

如果你使用的是 ,你可能想使用 path(..),就像你一样。

我相信这可能与你设置的regex有关。

对于URLs,不要用这个,而是用这个:

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

以上是关于Django url显示错误:未解决的引用。的主要内容,如果未能解决你的问题,请参考以下文章

Django图像未显示

如何解决在开发 C++ 中未定义的对 readimagefile 的引用错误 [重复]

未将对象引用设置到对象的实例

PyCharm 中 Django 文档字符串中未解决的引用

Django form.errors 未显示在模板中

图片未显示在 Gmail 中 - 使用 django python-postmark