Pergunta

Eu estou usando o django-registration para usuários de log em meu aplicativo.Essa parte funciona bem.A parte que eu não consigo descobrir como configurar as variáveis de sessão quando o utilizador inicia sessão.Por exemplo, eu gostaria de preencher variáveis contendo UserProfile de dados, bem como a saída de algumas outras funções.Em seguida, eu gostaria de ser capaz de a utilizar essa informação na subsequente vista/modelos.

Se alguém pode me apontar para um tutorial on-line ou postar algum código de exemplo, que seria ótimo.

Eu estou usando o django 1.1 e Python 2.6

Foi útil?

Solução

Se você não quer armazenamento persistente de dados do usuário (apenas uma sessão adicional de dados), dê uma olhada:

http://docs.djangoproject.com/en/dev/topics/http/sessions/

As sessões de enquadramento será, provavelmente, já habilitado se você usar o django.contrib.auth.

Se você deseja armazenamento persistente de usuário adicional de dados (não apenas em uma sessão, mas no banco de dados), você irá armazená-los em outro "perfil" do modelo:

http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users

Outras dicas

Eu percebo @stefanw fornecida uma solução alternativa, mas para responder a pergunta inicial:

Sessão de definição de dados no início da sessão, é difícil, porque é o lugar mais fácil para o conjunto de dados é, na sua opinião, a função e o modo particular de ver a função que você deseja modificar é uma parte da contrib.django.auth app.

Assim, suas opções seriam as seguintes:

  • Criar uma pequena middleware de classe para definir os dados da sessão.
  • Criar um modelo de marca ou outros bits de código que pode ser integrado para o início de sessão do modelo ou página subsequente que irá definir os dados que você deseja.
  • Escrever a sua própria visão login função (é realmente muito fácil, na verdade).

Feliz django-ing!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top