成都网站建设设计

将想法与焦点和您一起共享

Django中session操作-创新互联

如果想要在django项目中正常使用session的话需要配置一下你的django

创新互联:自2013年创立以来为各行业开拓出企业自己的“网站建设”服务,为近千家公司企业提供了专业的网站制作、做网站、网页设计和网站推广服务, 按需制作网站由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。
1. 配置项目session参数

在项目的settings.py文件中添加session的配置项

SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_COOKIE_NAME = "sessionid"
SESSION_COOKIE_PATH = "/"
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_SECURE = False
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_AGE = 43200
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_SAVE_EVERY_REQUEST = False
  • SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 指定session引擎
  • SESSION_COOKIE_NAME = "sessionid" # session在浏览器中存储的名称
  • SESSION_COOKIE_PATH = "/" # session应用的站点路径,默认为全站
  • SESSION_COOKIE_DOMAIN = None # session应用的站点域名
  • SESSION_COOKIE_SECURE = False # session是否只允许在https下存储
  • SESSION_COOKIE_HTTPONLY = True # 设置为True时js无法获取到内容,这样能有效的防止XSS***
  • SESSION_COOKIE_AGE = 43200 # session生存时间
  • SESSION_EXPIRE_AT_BROWSER_CLOSE = True # 浏览器关闭时是否清楚session
  • SESSION_SAVE_EVERY_REQUEST = False # 当有请求进来时重新保存session
2. 在app中使用session
class Login(View):
    def post(self, request):
        name = request.POST.get('name')
        password = request.POST.get('password')
        if name == 'admin' and password == 'admin':
            # 设置session
            request.session['userinfo'] = name

    def get(self, request):
        flag = request.GET.get('logout')
        if flag == 'true':
            sessionKey = request.session.session_key # 获取session在cookie中存储的key
            if sessionKey:
                            request.session.delete(sessionKey) # 删除当前session

session只能够存储字典

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:Django中session操作-创新互联
文章位置:http://chengdu.cdxwcx.cn/article/djjejc.html