Comment puis-je définir des variables de session lors de la connexion à l'aide django-inscription et auth?

StackOverflow https://stackoverflow.com/questions/2268043

Question

J'utilise django-enregistrement pour enregistrer les utilisateurs dans mon application. Cette partie fonctionne très bien. La partie que je ne peux pas comprendre comment définir les variables de session personnalisée lorsque l'utilisateur se connecte. Par exemple, je voudrais remplir les variables contenant des données UserProfile ainsi que la sortie de quelques autres fonctions. Ensuite, je serais en mesure d'utiliser ces informations dans les vues / modèles suivants.

Si quelqu'un peut me pointer vers un tutoriel en ligne ou poster un exemple de code, ce serait génial.

J'utilise django 1.1 et Python 2.6

Était-ce utile?

La solution

Si vous ne voulez pas le stockage persistant des données utilisateur (seulement des données de session supplémentaires) un coup d'oeil à:

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

Le cadre des sessions sera très probablement déjà activé si vous utilisez django.contrib.auth.

Si vous souhaitez que le stockage persistant de données d'utilisateurs supplémentaires (non seulement dans une session, mais dans la base de données), vous les stocker dans un autre modèle « de profil »:

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

Autres conseils

Je me rends compte @stefanw vous avez fourni une solution de rechange, mais pour répondre à la question initiale:

Réglage des données de session lors de la connexion est difficile parce que l'endroit le plus facile à régler que les données sont dans votre fonction de vue, et la fonction de vue particulier que vous voudriez modifier est une partie de l'application contrib.django.auth.

options seraient les suivantes:

  • Créer une petite classe de middleware pour définir vos données de session.
  • Créer une étiquette de modèle ou un autre morceau de code que peut être intégré dans le modèle de page de connexion ou ultérieure qui définira les données que vous voulez.
  • Écrivez votre propre fonction d'affichage de connexion personnalisée (il est vraiment très facile, en fait).

Happy django-ing!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top