我的Django应用程序的站点范围urls.py文件如下所示:
urlpatterns = patterns('',
url(r'^$', include('myApp.urls')),
url(r'^admin/', include(admin.site.urls)),
url (
r'^accounts/register/$',
RegistrationView.as_view(form_class=extendedRegistrationForm),
),
url(r'^accounts/', include('registration.backends.default.urls')),
url(r'^', include('myApp.urls')),
)
我也有一个特定于myApp的urls.py但我没有在这里显示,因为我认为它不相关。
在我的模板文件中,我有:
{% url logout %}
它给了我这个错误:
'url' requires a non-empty first argument. The syntax changed in Django 1.5, see the docs.
当我将模板更改为:
时{% url 'logout' %}
它给了我以下错误:
Reverse for 'logout' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
如何在我的视图中添加注销链接?
答案 0 :(得分:7)
添加一个这样的注销网址:
url(r"^logout/$", "django.contrib.auth.views.logout_then_login",
name="logout"),
正确的模板语法是:
{% url 'logout' %}
答案 1 :(得分:3)
您的django.contrib.auth
中未包含urls.py
个网址,因此没有退出网址。
尝试添加类似
的内容url(r'^auth/', include('django.contrib.auth.urls')),
答案 2 :(得分:0)
在django 3.0中,{% url 'admin:logout' %}
可以完美地工作。