/
home
/
report
/
report
/
venv
/
lib64
/
python3.8
/
site-packages
/
django
/
contrib
/
sessions
/
File Upload :
llllll
Current File: //home/report/report/venv/lib64/python3.8/site-packages/django/contrib/sessions/base_session.py
""" This module allows importing AbstractBaseSession even when django.contrib.sessions is not in INSTALLED_APPS. """ from django.db import models from django.utils.translation import gettext_lazy as _ class BaseSessionManager(models.Manager): def encode(self, session_dict): """ Return the given session dictionary serialized and encoded as a string. """ session_store_class = self.model.get_session_store_class() return session_store_class().encode(session_dict) def save(self, session_key, session_dict, expire_date): s = self.model(session_key, self.encode(session_dict), expire_date) if session_dict: s.save() else: s.delete() # Clear sessions with no data. return s class AbstractBaseSession(models.Model): session_key = models.CharField(_("session key"), max_length=40, primary_key=True) session_data = models.TextField(_("session data")) expire_date = models.DateTimeField(_("expire date"), db_index=True) objects = BaseSessionManager() class Meta: abstract = True verbose_name = _("session") verbose_name_plural = _("sessions") def __str__(self): return self.session_key @classmethod def get_session_store_class(cls): raise NotImplementedError def get_decoded(self): session_store_class = self.get_session_store_class() return session_store_class().decode(self.session_data)
Copyright ©2k19 -
Hexid
|
Tex7ure