2015-02-04 3 views
4

Я использую django-alluth для социального входа. Моя проблема заключается в том, как я могу войти в определенный URL-адрес вместо фиксированного LOGIN_REDIRECT_URL в файле settings.py?Динамический login_redirect_url в Django allauth

Когда я попытаюсь удалить LOGIN_REDIRECT_URL и установил свой URL-адрес для входа в систему, как accounts/login/?next=/some-url/, он не работает. Он перенаправляет на accounts/profile, который является 404 в моем коде.

ответ

0

Вы должны переопределить get_login_redirect_url в DefaultAccountAdapter.

# project/settings.py: 
ACCOUNT_ADAPTER = 'project.users.adapter.MyAccountAdapter' 

# project/users/adapter.py: 
from django.conf import settings 
from allauth.account.adapter import DefaultAccountAdapter 

class MyAccountAdapter(DefaultAccountAdapter): 

    def get_login_redirect_url(self, request): 
     path = "/accounts/{username}/" 
     return path.format(username=request.user.username) 

docs

Смежные вопросы