您当前的位置: 首页 >  flask

IT之一小佬

暂无认证

  • 1浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Flask框架中Cookie与Session用法详解

IT之一小佬 发布时间:2021-08-09 15:23:54 ,浏览量:1

1、Cookie 1.1 设置cookie
from flask import Flask, make_response

app = Flask(__name__)

@app.route('/cookie')
def set_cookie():
    resp = make_response('set cookie ok')
    resp.set_cookie('username', 'itcast')
    return resp

1.2 设置cookie有效期
from flask import Flask, make_response

app = Flask(__name__)


@app.route('/cookie')
def set_cookie():
    response = make_response('hello world')
    response.set_cookie('username', 'itheima', max_age=3600)
    return response


if __name__ == '__main__':
    app.run()
1.3 读取cookie值
from flask import Flask, request

app = Flask(__name__)


@app.route('/get_cookie')
def get_cookie():
    resp = request.cookies.get('username')
    return resp


if __name__ == '__main__':
    app.run()
1.4 删除cookie值
from flask import Flask, make_response

app = Flask(__name__)


@app.route('/delete_cookie')
def delete_cookie():
    response = make_response('hello world')
    response.delete_cookie('username')
    return response


if __name__ == '__main__':
    app.run()
1.5 cookie值连同render_template共同使用

示例代码:

from flask import Flask, request, make_response, render_template

app = Flask(__name__)


@app.route('/')
def index():
    resp = request.cookies.get('user_name')
    if resp:
        return f'欢迎来到首页,我的cookie值为:{resp}'
    return '欢迎来到首页!!!'


@app.route('/login')
def login():
    response = make_response(render_template('login.html'))  # render_template()可以正常传递参数
    response.set_cookie('user_name', 'zhangsan', max_age=3600)
    return response


if __name__ == '__main__':
    app.run()

运行效果:

2、Session 2.1 设置session值

需要先设置SECRET_KEY,否则程序会报错的

class DefaultConfig(object):
    SECRET_KEY = 'fih9fh9eh9gh2'

app.config.from_object(DefaultConfig)

或者直接设置
app.secret_key='xihwidfw9efw'

设置session值:

from flask import Flask, session

app = Flask(__name__)

# class DefaultConfig(object):
#     SECRET_KEY = 'fih9fh9eh9gh2'
#
#
# app.config.from_object(DefaultConfig)

#  或者直接设置
app.secret_key = 'xihwidfw9efw'


@app.route('/set_session')
def set_session():
    session['username'] = 'itcast'
    return 'set session ok'


if __name__ == '__main__':
    app.run()
2.2 读取session值
from flask import Flask, session

app = Flask(__name__)

# class DefaultConfig(object):
#     SECRET_KEY = 'fih9fh9eh9gh2'
#
#
# app.config.from_object(DefaultConfig)

#  或者直接设置
app.secret_key = 'xihwidfw9efw'


@app.route('/get_session')
def get_session():
    username = session.get('username')
    return 'get session username {}'.format(username)


if __name__ == '__main__':
    app.run()
2.3 思考

flask将session数据保存到了哪里?

关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.1908s