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 2.x
对于 django-1.x,你不能使用这样的 path(..)
的,在这种情况下,你需要 写正则,像。
url(r'^complete/(?P<todo_id>[0-9]+)$', views.completeTodo, name='complete'),
如果你使用的是 django-2.x,你可能想使用 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显示错误:未解决的引用。的主要内容,如果未能解决你的问题,请参考以下文章