zoukankan      html  css  js  c++  java
  • Flask 第十三话之cookies和session

    COOKIES使用方法:

    一、基本参数

    1.key:cookie键

    2.value="":cookie值

    3.max_age=None:设置多少秒后的过期时间(单位:秒) (IE8以下的浏览器不支持)

    max_age=60

    4.expires=None:设置指定过期时间,这个使用的是格林尼治时间相对于北京时间少8小时(新版本http协议中被废弃)

    from datetime import datetime,timedelta
    # 设置31天后过期
    expire = datetime.now() + timedelta(days=30,hours=16)
    expires = expire

    5.domain=None:设置子域名存储cookie

    domain='.hy.com'

    二、设置cookie

    @app.route('/set_cookies')
    def set_cookies():
        response = Response('set_cookie')
        response.set_cookie('pwd', '123456')
        return response

    三、获取cookie

    @app.route('/get_cookies')
    def get_cookies():
        response= request.cookies.get('pwd')
        return response

    四、删除cookie

    @app.route('/del_cookies')
    def del_cookies():
        response = Response('删除cookie')
        response.delete_cookie('pwd')
        return response

    五、子域名设置

    1.app.config:设置域名

    SERVER_NAME ='hy.com:5000'

    2.设置cookie

    @app.route('/set_cookies')
    def set_cookies():
        response = Response('set_cookie')
        response.set_cookie('pwd', '123456',domain='.hy.com')
        return response

    3.获取cookie:子域名cms.hy.com

    @app.route('/',subdomain='cms')
    def cms():
        passwd = request.cookies.get('passwd')
        return passwd or "没有获取到cookie"

     SESSION使用方法:

    一、设置session

    1.导入session:from flask import Flask,session

    2.一定要记得设置app.config['SECRET_KEY']得值,也就是session密钥

    3.设置session:session['username'] = 'lee'

    from flask import Flask,session
    import os
    from datetime import timedelta
    app = Flask(__name__)
    
    # 设置SECRET_KEY为一个24位得随机数
    app.config['SECRET_KEY'] = os.urandom(24)
    # 设置SESSION指定过期时间
    app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours=2)
    
    @app.route('/')
    def set_session():
        session['username'] = 'lee'
        # 设置过期时间
        # 1.默认31天
        # 2.如果设置app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours=2) 则再两小时后失效
        session.permanent = True
    
        return '首页'

    二、获取session

    @app.route('/get_session/')
    def get_session():
        username = session.get('username')
        print(username)
        return username or '没有这个session'

    三、删除session

    @app.route('/del_session/')
    def del_session():
        # 删除指定key值得session
        # session.pop('username')
        # 删除所有session
        session.clear()
        return '删除成功'
  • 相关阅读:
    用GDB调试程序(一)
    关于“鸡脚神”的看法
    Oracle 经典SQL 专为笔试准备
    怎样设计接口?
    myeclipse6.0下载及注冊码
    VB连接Mysql数据库
    开源html5_kiwijs_helloworld
    server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh
    js实现自己定义鼠标右键-------Day45
    C/C++程序猿必须熟练应用的开源项目
  • 原文地址:https://www.cnblogs.com/lee-xingxing/p/12447039.html
Copyright © 2011-2022 走看看