根据django中的用户类型重定向到其他页面的登录注册

时间:2019-04-19 00:41:43

标签: django

我正在djanog中创建登录注册。而且我无法根据不同的用户类型重定向登录。如果可以举任何例子,将不胜感激。

2 个答案:

答案 0 :(得分:0)

您需要通过继承来创建自己的LoginView

from django.contrib.auth.views import LoginView

然后您需要覆盖函数

def get_success_url(self)

所以您的LoginView会像

from django.contrib.auth.views import LoginView

CustomLoginView(LoginView):

    def get_success_url(self):
       if self.user.type = 'USER_TYPE':
          return 'YOUR_CUSTOM_URL'

然后您需要在URL中指定创建的登录视图

 path('login/',CustomLoginView.as_view(template_name='ur .HTML',name='login')     

答案 1 :(得分:-1)

在您的urls.py文件中

 from django.contrib.auth.views import LoginView
 urlpatterns =[
     path('login/',LoginView.as_view(template_name='ur .HTML',name='login')     
   ]

在您的HTML文件中:-

 <form method='POST'>
  {% csrf_token %}
  {{ form.as_p }}
  <input type='submit' value='Submit'>
  </form>

如果您想在任何AnonymusUser尝试进入您的项目的SETTINGS.py文件中时重定向到登录页面,请执行以下操作:

 LOGIN_URL = 'login'

如果您要在登录后从登录页面重定向:--- 在您的settings.py文件中:----

 LOGIN_REDIRECT_URL = 'name of the url u want to redirect'