如何正确反转Django auth登录?

时间:2011-06-08 05:11:19

标签: django django-urls

好的,所以我想做的就是根据我视图中的一些逻辑将用户重定向到登录页面。我试过了:

reverse('django.contrib.auth.views.login')

我也尝试在我的应用的urls.py中创建一个唯一的条目

from django.contrib.auth.views import login
urlpatterns = patterns('',
    url(r'^login/', login, name='my-login'),
)

然后在我看来

reverse('my-login')

但他们都给我一个NoReverseMatch错误。

这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:4)

你的网址其他地方肯定有问题。我能够反转auth登录url模式就好了:

from django.core.urlresolvers import reverse
print reverse('django.contrib.auth.views.login')

答案 1 :(得分:0)

使用admin URL命名空间获取登录URL:

>>> from django.urls import reverse
>>> reverse('admin:login')
'/admin/login/'

请参阅Django documentation的相关部分。自Django 1.1起,URL名称空间就已可用。

答案 2 :(得分:0)

对于django 3.1:

urlpatterns = [
     ....  
     path('login/', admin.site.login),
     ....
]