我怎样才能禁止用户在他已经登录的情况下进入注册页面?姜戈 2.1.2
How can I disallow the user to go to the register page when he is already logged in? Django 2.1.2
我用 django 做了一个管理面板。其中包括管理员的登录注册和仪表板,但我面临的问题是:
假设用户登录系统,然后用户进入url并使用url注册页面。 localhost/register 当他已经登录并且不需要去注册页面注册另一个用户帐户时。我不希望这发生。
如何禁止已经登录的用户进入注册页面。我们如何解决这个问题?请帮助
你可以这样试试:
def register(request):
if request.user.is_authenticated:
return redirect('/') # or reverse('home_url_name')
else:
....
根据评论更新:
您也需要覆盖 LoginView
才能在登录中添加此功能,例如:
from django.contrib.auth import views as auth_views
class CustomLoginView(auth_views.LoginView):
def get(self, request, *args, **kwargs):
if request.user.is_authenticated:
return redirect('/')
return super(CustomLogin, self).get(request, *args, **kwargs)
# URL
path('accounts/login/', CustomLoginView.as_view()),
我用 django 做了一个管理面板。其中包括管理员的登录注册和仪表板,但我面临的问题是:
假设用户登录系统,然后用户进入url并使用url注册页面。 localhost/register 当他已经登录并且不需要去注册页面注册另一个用户帐户时。我不希望这发生。
如何禁止已经登录的用户进入注册页面。我们如何解决这个问题?请帮助
你可以这样试试:
def register(request):
if request.user.is_authenticated:
return redirect('/') # or reverse('home_url_name')
else:
....
根据评论更新:
您也需要覆盖 LoginView
才能在登录中添加此功能,例如:
from django.contrib.auth import views as auth_views
class CustomLoginView(auth_views.LoginView):
def get(self, request, *args, **kwargs):
if request.user.is_authenticated:
return redirect('/')
return super(CustomLogin, self).get(request, *args, **kwargs)
# URL
path('accounts/login/', CustomLoginView.as_view()),