[英]How to check user type after login ? DJANGO
我的應用程序中有兩種用戶類型。 登錄后如何查看用戶類型? 我的登錄視圖擴展了 django 的 LoginView。 在我的登錄視圖中,我嘗試使用 form_valid,但我認為它會在身份驗證之前進行驗證。
模型.py
class CustomUser(AbstractUser):
is_client = models.BooleanField(default=False)
is_supermarket = models.BooleanField(default=False)
def __str__(self):
return self.username
視圖.py
class LoginView(LoginView):
def get(self, request, *args, **kwargs):
#check if the user is logged in and redirect to home page
if request.user.is_authenticated:
return redirect('produtos:home')
return super(LoginView, self).get(request, *args, **kwargs)
這是你需要的嗎?
class LoginView(LoginView):
def get(self, request, *args, **kwargs):
#check if the user is logged in and redirect to home page
if request.user.is_authenticated:
return redirect('produtos:home')
if request.user.is_supermarket:
return redirect('supermarket-login') #your unique login page for supermarket user
return super(LoginView, self).get(request, *args, **kwargs)
我不知道這是否是最好的方法,但我得到了預期的行為
class LoginView(LoginView):
def get(self, request, *args, **kwargs):
if request.user.is_authenticated:
return redirect('produtos:home')
return super(LoginView, self).get(request, *args, **kwargs)
def form_valid(self, form):
if form.get_user().is_supermarket:
self.request.session.flush()
logout(self.request)
return redirect('login')
return super().form_valid(form)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.