我有一个问题,如何在我的不同用户的设置或视图中添加多个LOGIN_REDIRECT_URL。 例如,我有:管理员,人力资源,教师,学生......等 并且对于每个我需要重定向到不同的URL,面板管理员为Admin等。 我需要添加组?或不? 谢谢你的帮助!
答案 0 :(得分:1)
django-allauth
从帐户适配器中定义的方法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'