Redirecionamento de login condicional no Django

Eu sei sobreLOGIN_REDIRECT_URL e eu sei sobre

<form action="?next={{ next|default:"/foo" }}" method="post">

no modelo login.html do django-registration. Aqui está o que eu quero que aconteça:

Se um usuário fizer login na página inicial, redirecione-o para um URL que contenha seu nome de usuário (/ lists / [nome de usuário]).

Se um usuário efetuar login de qualquer outra página, retorne-o à página que estava visualizando.

A maneira como o twitter.com lida com isso é simplesmente fazer a página inicial desaparecer para usuários logados. Eu consideraria fazer isso, e seria muito fácil de resolver, mas minha página inicial ainda possui informações úteis e não tenho certeza se quero que ela desapareça para usuários autenticados. Prefiro redirecioná-los.

Eu estava pensando que eu poderia fazer um condicional em settings.py ondeLOGIN_REDIRECT_URL é referenciado, mas o objeto de solicitação não está disponível nas configurações (portanto, não consigo acessar request.user.username para criar o redirecionamento). E, obviamente, não posso fazê-lo no parâmetro "default" do django-registration no modelo porque o nome de usuário não é conhecido antes do login.

Qual é a melhor / correta maneira de resolver isso? Obrigado.

Atualizar: Com base na sugestão de S. Lott abaixo, é isso que acabei usando (na visualização da página inicial):

if request.user.is_authenticated() and not request.session.get('homepage_redir'): 
    request.session['homepage_redir'] = True
    return HttpResponseRedirect(reverse('list_view',args=[request.user.username])) 

No primeiro login da página inicial, o usuário é redirecionado para sua página pessoal e uma variável de sessão é definida. Em solicitações subsequentes para a página inicial, o redirecionamento não ocorre (porque a var da sessão foi detectada). O código para redirecionar logins de qualquer outra página não é afetado.

questionAnswers(2)

yourAnswerToTheQuestion