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 '删除成功'
  • 相关阅读:
    MFC记录
    【转】linux下tty,控制台,虚拟终端,串口,console(控制台终端)详解----不错
    【转】五大绝招复制不能复制的网页文字
    【转】DELL戴尔N4050笔记本拆机(图文)
    【转】Linux下tar.xz结尾的文件的解压方法
    【转】在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持--不错
    【转】Android adb shell操作时出现“ XXX ... Read-only file system”解决办法--不错
    【转】VirtualBox direct access to SD Card in Windows--不错
    网址
    TensorFlow 学习(九)—— 初始化函数(概率分布函数 api、常数生成函数)
  • 原文地址:https://www.cnblogs.com/lee-xingxing/p/12447039.html
Copyright © 2011-2022 走看看