开发者

How to properly reverse the Django auth login?

开发者 https://www.devze.com 2023-03-11 08:49 出处:网络
Ok, so all I want to do is to redirect the user to the login page based on some logic in my view. I\'ve tried:

Ok, so all I want to do is to redirect the user to the login page based on some logic in my view. I've tried:

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

and I've also tried creating a unique entry in my app's urls.py

from django.contrib.auth.views import login
urlpatterns = patterns('',
    url(r'^login/', login, name='my-login')开发者_如何学C,
)

Then in my view

reverse('my-login')

but they both give me a NoReverseMatch error.

What is the proper way to do this?


There's definitely something wrong elsewhere in your urls. I'm able to reverse the auth login url pattern just fine:

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


Use the admin URL namespace to get the login URL:

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

See the relevant section of Django documentation. URL namespaces have been available since Django 1.1.


for django 3.1:

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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号