在django项目中,我使用django.contrib.auth来处理用户身份验证。为了登录,我有
from django.contrib.auth.views import login, logout
# ...
url(r'^login/', login, name='login'),
url(r'^logout/', logout, {'next_page': '/'}, name='logout'),在我的主要项目urls.py中。
到现在为止还好。但是,我注意到,登录后,如果我访问/login/,我仍然会看到登录页面,并且能够以另一个用户的身份登录。这似乎是违反直觉的行为-大多数网站会显示错误或重定向你的主页,如果你试图访问登录页面时登录。
--我正在使用内置的模型/视图,据我所知,我没有一种简单的方法来更改视图。是否有一种简单的方法来获得此功能(即,如果登录就阻止对登录表单的访问),还是仅仅修改模板以仅显示表单(如果没有登录)的最佳方式?
发布于 2020-01-30 10:43:07
您只需编写登录url,如下所示:
from django.contrib.auth import views as auth_views
path('login/', auth_views.LoginView.as_view(template_name="accounts/login.html", redirect_authenticated_user=True), name='login'),https://stackoverflow.com/questions/22946446
复制相似问题