Django – Войти и перенаправить на страницу профиля пользователя

Я пытаюсь перенаправить пользователя, который только что вошел в свою учетную страницу.

Этот вопрос задавали несколько раз, но большинство из них старые и используют статические URL-адреса, такие как /accounts/profile/ : Django – после входа в систему перенаправить пользователя на свою страницу -> mysite.com/username . Я бы хотел использовать динамическое имя URL для достижения этого решения.

Например, что, если моя целевая страница моей учетной записи имеет следующий шаблон url?

 url(r'^account/(?P<pk>\d+)/(?P<name>\w+)/$', AccountLanding.as_view(), name="account-landing" )`. 

Как передать аргументы в settings.py для LOGIN_REDIRECT_URL ?

One Solution collect form web for “Django – Войти и перенаправить на страницу профиля пользователя”

Невозможно использовать динамические аргументы (например, первичный ключ зарегистрированного пользователя) в LOGIN_REDIRECT_URL .

Одна работа заключается в создании представления, которое перенаправляется на целевую страницу:

 from django.contrib.auth.decorators import login_required from django.shortcuts import redirect @login_required def account_redirect(request): return redirect('account-landing', pk=request.user.pk, name=request.user.username) 

Создайте шаблон URL для этого представления:

 urlpatterns = [ url(r'^account/$', account_redirect, name='account-redirect'), ] 

Затем используйте это представление как LOGIN_REDIRECT_URL :

 LOGIN_REDIRECT_URL = 'account-redirect' 
Python - лучший язык программирования в мире.