2016-10-21 2 views
0

У меня вопрос, как я могу добавить несколько параметров LOGIN_REDIRECT_URL в настройках или в представлениях для моих пользователей. Например, у меня есть: администраторы, человеческие ресурсы, учителя, студенты ... и т. Д. и для каждого мне нужно перенаправить на другой URL-адрес, администратор панели для администратора и т. Д. Мне нужно добавить группы? или нет? Спасибо за помощь!Django-Allauth, множественный URL-адрес перенаправления входа

ответ

0

django-allauth получить Логин перенаправления URL из метода get_login_redirect_url, определенного в учетной записи адаптера вы можете определить свой собственный адаптер и переопределить это:

my_app/adapter.py

from allauth.account.adapter import DefaultAccountAdapter 

class AccountAdapter(DefaultAccountAdapter): 
    def get_login_redirect_url(self, request): 
     url = super(AccountAdapter, self).get_login_redirect_url(request) 
     user = request.user 
     ''' 
     # pseudocode, change it to actual logic 
     # check user role and return a different URL 
     role = get_user_role(user) 
     if role == 'student': 
      url = student_login_redirect_url 
     if role == 'teacher': 
      url = teacher_login_redirect_url 
     ''' 
     return url 

Теперь скажите allauth использовать наш пользовательский адаптер путем определения ACCOUNT_ADAPTER в settings.py:

ACCOUNT_ADAPTER = 'my_app.adapter.AccountAdapter' 
Смежные вопросы