2016-10-21 23 views
0

質問があります。複数のLOGIN_REDIRECT_URLを設定やビューに複数のユーザーに追加するにはどうすればよいですか。 たとえば、私は:管理者、人事、教師、学生...など と私は別のURL、管理者のパネル管理にリダイレクトする必要があります 私はグループを追加する必要がありますか?か否か? ご協力いただきありがとうございます!Django-Allauth、複数のログインリダイレクトURL

答えて

0

django-allauthカスタムアダプタを定義し、この上書きでき口座アダプタで定義された方法get_login_redirect_urlからログインリダイレクトURLを取得:使用するallauthを伝える今

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 

ACCOUNT_ADAPTERsettings.pyに定義してカスタムアダプタを作成します。

ACCOUNT_ADAPTER = 'my_app.adapter.AccountAdapter' 
関連する問題