Flask框架:获取请求参数、session和cookie

request请求参数

request.method: 判断请求的方式 GET、POST

from flask import request 就是 Flask 中表示当前请求的 request 对象,request对象中保存了一次HTTP请求的一切信息。

request.args.get()请求时,记录请求中的所有的参数,返回一个类字典格式数据类型。get请求是获取参数

request.form.post() 请求时, 记录请求中的所有的参数,返回一个类字典格式数据类型。post请求是获取请求体中参数
在这里插入图片描述

from flask import Flask,request,render_template

app=Flask(__name__)

#获取get请求参数
@app.route('/get_method')
def get_method():
    #get方式访问,使用args参数获取内容
    #args:是一个类字典格式的数据,可以按照字典来使用
    name=request.args.get('name')
    age=request.args.get('age')
    return 'get_method...name:{},age{}'.format(name,age)#name和age的值在地址栏输入


#获取post请求参数
@app.route('/login',methods=['GET','POST'])
def post_method():
    if request.method=='POST':
        """post请求"""
        #request.form:可以当做字典使用
        username=request.form.get('username')
        password=request.form.get('password')
        if username=='zs'and password=='123':
            return 'success'
    return render_template('login.html')

if __name__ == '__main__':

    app.run()

cookie

你可以通过 cookies 属性来访问 Cookies,用响应对象的 set_cookie 方法来设置 Cookies。请求对象的 cookies 属性是一个内容为客户端提交的所有 Cookies 的字典。如果你想使用会话,请不要直接使用 Cookies,请参考 会话 一节。在 Flask 中,已经注意处理了一些 Cookies 安全细节。

from flask import Flask,make_response,request

app=Flask(__name__)

@app.route('/set_cookie')
def set_cookie():
    response=make_response('sucess!!!')
    #1.设置cookie
    response.set_cookie('name','zs')
    response.set_cookie('age','18')
    #max_age:单位是s
    response.set_cookie('weight','160',max_age=3600)
    return response

#获取cookie
@app.route('/get_cookie')
def get_cookie():
    weight=request.cookies.get('weight')
    age=request.cookies.get('age')
    name=request.cookies.get('name')
    return 'name:{},age:{},weight:{}'.format(name,age,weight)

#删除cookie
@app.route('/delete_cookie')
def delete_cookie():
    response=make_response('sucess')
    response.delete_cookie('weight')#删除cookie
    return response
if __name__ == '__main__':
    app.run()

Cookies 是设置在响应对象上的。由于通常视图函数只是返回字符串,之后 Flask 将字符串转换为响应对象。如果你要显式地转换,你可以使用make_response() 函数然后再进行修改。

session

  1. 配置SECRET_KEY
    因为flask的session是通过加密之后放到了cookie中。所以有加密就有密钥用于解密,所以,只要用到了flask的session模块就一定要配置“SECRET_KEY”这个全局宏。一般设置为24位的字符。
from flask import Flask
app=Flask(__name__)
#1对session内容进行加密,内容可以随便写
app.config['SECRET_KEY']='123'

  1. 操作session就如同操作字典!
#导入session对象
from flask import session

@app.route('/set_session')
#设置session
def set_session():
    #设置session
    session['name']='zs'
    session['age']='18'
    return 'sucess'
@app.route('/get_session')

#获取session
def get_session():
    name=session.get('name')
    age=session.get('age')
    return  'name-->{},age-->{}'.format(name,age)
#主要flask的session存放在cookie中,关闭浏览器,就会消失
@app.route('/delelte_session')

#删除session
def delelte_session():
    session.pop('name')
    name=session.get('name')
    return 'name-->{}'.format(name)

if __name__ == '__main__':
    app.run(debug=True)
  1. 设置session的过期时间
    如果没有指定session的过期时间,那么默认是浏览器关闭后就自动结。session.permanent = True在flask下则可以将有效期延长至一个月。下面有方法可以配置具体多少天的有效期。
  • 如果没有指定session的过期时间,那么默认是浏览器关闭后就自动结束
  • 如果设置了session的permanent属性为True,那么过期时间是31天。

可以通过给app.config设置PERMANENT_SESSION_LIFETIME来更改过期时间,这个值的数据类型是datetime.timedelay类型。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值