web-dev-qa-db-fra.com

Comment puis-je définir et obtenir une variable de session dans django?

J'ai besoin de définir une variable sur la session, quand une connexion utilisateur se produit. Comment puis-je faire ceci?

if request.user.is_authenticated():
profile = request.user.get_profile()
request.session['idempresa'] = profile.idempresa

Mon autre question est sous une forme:

class PedidoItensForm(ModelForm):
class Meta:
    model = ItensPedido

def __init__(self, *args, **kwargs):
    profile = kwargs.pop('vUserProfile', None)
    super(PedidoItensForm, self).__init__(*args, **kwargs)

Comment puis-je obtenir la valeur "idempresa" de la session, à utiliser dans mon ensemble de requêtes?

44
fh_bash

Pour définir la variable de session:

request.session['idempresa'] = profile.idempresa

Pour obtenir des données de session:

if 'idempresa' in request.session:
    idempresa = request.session['idempresa']
62
Varnan K

Pour définir la variable de session:

request.session['fav_color'] = 'blue'

Pour obtenir des données de session

fav_color = request.session.get('fav_color', 'red')

Référence: https://docs.djangoproject.com/en/dev/topics/http/sessions/

53
Arun