zoukankan      html  css  js  c++  java
  • flask--session

    flask中的session设置

    1. cookie和session结合使用:web开发发展至今,cookiesession的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里,一般有两种存储方式:

      • 存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_idsession库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session
      • session数据加密,然后存储在cookie中。这种专业术语叫做client side sessionflask采用的就是这种方式,但是也可以替换成其他形式。

    session:Flask中的session是通过from flask import session。然后添加值key和value进去即可。并且,Flask中的session机制是将session信息加密,然后存储在cookie中。专业术语叫做client side session


    2、Flask生成SECRET_KEY(密钥)的一种简单方法

    1.  
      >>> import os
    2.  
      >>> os.urandom(24)
    3.  
      'xcax0cx86x04x98@x02bx1b7x8cx88]x1bxd7"+xe6px@xc3#\'

    设置秘钥:

     

    Session 也可以设置过期时间:

     

     

    Session使用:

     

    往session 里面添加数据。此时session是相当于一个字典(dict)。

     

    然后获取session 里面的值,看看是否存在。

    那么如何删除session呢?
    可以直接使用session.pop('key',None) 即:
    session.pop('name',None)
    如果要删除session中所有数据使用:clear()即:
    session.clear()
     
    ############################

    学习flask框架涉及到的四种session

    ①状态保持session

           这个session与所有的框架和语言都无关, 就是用来实现状态保持的

    cookie和session都是基础键值对的字符串信息, session是基于cookie实现的

    ②flask上下文的session

           session是请求上下文的一种,封装了用户信息,可以对数据库中缓存的用户信息进行读写操作.

    ③flask扩展包Session

           可以通过flask-session中的Session类对②中的session信息进行一系列操作,例如储存到哪个数据库中redis/memached/filesystem/mongdb/sqlalchemy. 还有过期时间等等

    ④数据库会话对象session

           flask-sqlalchemy扩展包:封装了sql对数据库的基本操作.

           db.session.add() /add_all( )

           db.session.commit()

           db.session.delete()

           db.session.rollback()

           ①②③的session存在的目的都是为了实现状态保持.

           ④只是一个扩展包封装的对象.是为了对数据库进行操作.
     
  • 相关阅读:
    on条件与where条件的区别
    Sqlserver中如何创建链接服务器
    SQL Server 2008 R2 主从数据库同步
    网站性能优化
    检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败
    text输入框中按下enter键时阻止刷新页面
    关于以DataTable形式批量写入数据的案例
    关于Excel导入的HDR=YES; IMEX=1详解
    一条结合where、group、orderby的linq语法
    Linq使用Group By经验总结
  • 原文地址:https://www.cnblogs.com/ithairy/p/9401913.html
Copyright © 2011-2022 走看看