Python Flask的request对象使用详解

 更新时间:2023年02月10日 15:45:18   作者:qq_42307546  
本文介绍Flask request对象,一个完整的HTTP请求,包括客户端向服务端发送的Request请求和服务器端发送Response响应.为了能方便访问获取请求及响应报文信息,Flask框架提供了一些内建对象,下面就来说一下Flask针对请求提供内建对象reques,需要的朋友可以参考一下

必知的Flask的request Flask Request对象

来⾃客户端⽹⻚的数据作为全局请求对象发送到服务器。为了处理请求数据,应该从Flask模块导 ⼊。

Request对象的重要属性如下所列:

form - 它是⼀个字典对象,包含表单参数及其值的键和值对。

args - 解析查询字符串的内容,它是问号(?)之后的URL的⼀部分。

Cookies - 保存Cookie名称和值的字典对象。

files - 与上传⽂件有关的数据。

method - 当前请求⽅法

使⽤request也⽐较简单,就是直接从从 flask 模块导⼊请求对象:

from flask import request

"""args - 解析查询字符串的内容,它是问号(?)之后的URL的⼀部分。"""
@app.route('/login', methods=['POST', 'GET'])
 def login():
      if request.method == 'POST':
      		user = request.form['nm']
      		return redirect(url_for('do_welocome',name = user))
       else:
       user = request.args.get("nm")
       return redirect(url_for('do_welocome',name = user))

必知的Flask的Cookies获取数据 Cookie以⽂本⽂件的形式存储在客户端的计算机上。

其⽬的是记住和跟踪与客户使⽤相关的数据,以获得更好的访问者体验和⽹站统计信息。

Flask的Request对象包含Cookie的属性。

它是所有cookie变量及其对应值的字典对象

除此之外,cookie还存储其⽹站的到期时间,路径和域名。

在Flask中,对cookie的处理步骤为:

1 设置cookie:

设置cookie,默认有效期是临时cookie,浏览器关闭就失效

可以通过 max_age 设置有效期, 单位是秒

2 获取cookie

获取cookie,通过request.cookies的⽅式, 返回的是⼀个字典,可以获取字典⾥的相应的值

3 删除cookie

这⾥的删除只是让cookie过期,并不是直接删除cookie

删除cookie,通过delete_cookie()的⽅式, ⾥⾯是cookie的名字

from flask import  Flask,request,render_template,make_response
app = Flask(__name__)
@app.route('/setcookies')
def set_cookie():
    rep = make_response('设置cookies成功cookie:zhen guo:33')
    rep.set_cookie("zhen guo", '33',max_age = 3600)
    return rep
@app.route('/getcookie')
def get_cookie():
    cookie_value = request.cookies.get('zhen guo')
    return cookie_value
@app.route('/del_cookie')
def del_cookie():
    rep = make_response('删除cookie成功')
    rep.delete_cookie('zhen guo')
    return rep
if __name__ == "__main__":
    app.debug = True
    app.run('127.0.0.1',5000)

Flask ⽂件上传 在 Flask 中处理⽂件上传⾮常简单。

只需要⼀个 HTML 表单,其enctype属性设置为’multipart/form-data’,将⽂件发布到 URL。

URL 处理程序从request.files[]对象中提取⽂件,并将其保存到所需的位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:5000/uploader" method="POST" enctype="multipart/form-data">
<p><input type="file" name="file1" accept=".jpg,.png,.xlsx,.xls"/></p>
<p><input type="submit"/></p> </form>
</body>
</html> 

每个上传的⽂件⾸先会保存在服务器上的临时位置

然后将其实际保存到它的Y终位置。

⽬标⽂件的名称可以是硬编码的

也可以从 request.files[file]对象的filename属性中获取。

但是,建议使⽤secure_filename()函数获取它的安全版本

Flask对象的配置设置中定义默认上传⽂件夹的路径和上传⽂件的Y⼤值

app.config[‘UPLOAD_FOLDERʼ] 定义上传⽂件夹的路径

app.config[‘MAX_CONTENT_LENGTHʼ] 指定要上传的⽂件的Y⼤值(以字节为单位

from flask import  Flask,request,render_template,make_response
from werkzeug.utils import secure_filename
import os
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = r'D:\pythonProject1\static'
@app.route('/')
def index():
    return render_template('upload.html')
@app.route('/uploader',methods=['POST','GET'])
def upload():
    if request.method == "POST":
        f = request.files['file1']
        filename = secure_filename(f.filename)
        f.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
        return f'文件{filename}上传成功'
if __name__ == "__main__":
    app.debug = True
    app.run('127.0.0.1', 5000)

到此这篇关于Python Flask的request对象使用详解的文章就介绍到这了,更多相关Python Flask request内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python VisPy库高性能科学可视化图形处理用法实例探究

    Python VisPy库高性能科学可视化图形处理用法实例探究

    VisPy是一个用于高性能科学可视化的Python库,它建立在现代图形处理单元(GPU)上,旨在提供流畅、交互式的数据可视化体验,本文将深入探讨VisPy的基本概念、核心特性以及实际应用场景,并通过丰富的示例代码演示其强大的可视化能力
    2023-12-12
  • Python中的zip函数使用示例

    Python中的zip函数使用示例

    这篇文章主要介绍了Python中的zip函数使用示例,Python中的zip函数不是用来压缩文件的,而是用来传入参数返回一个tuple列表的,需要的朋友可以参考下
    2015-01-01
  • python+mysql实现个人论文管理系统

    python+mysql实现个人论文管理系统

    这篇文章主要为大家详细介绍了python+mysql实现个人论文管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python自动打开浏览器下载zip并提取内容写入excel

    python自动打开浏览器下载zip并提取内容写入excel

    这篇文章主要给大家介绍了关于python自动打开浏览器下载zip并提取内容写入excel的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • python调用DLL与EXE文件截屏对比分析

    python调用DLL与EXE文件截屏对比分析

    这篇文章主要为大家介绍了python调用DLL与EXE文件截屏对比分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-10-10
  • Python异常处理总结

    Python异常处理总结

    这篇文章主要介绍了Python异常处理总结,需要的朋友可以参考下
    2014-08-08
  • Django中FilePathField字段的用法

    Django中FilePathField字段的用法

    这篇文章主要介绍了Django中FilePathField字段的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Django对接elasticsearch实现全文检索的示例代码

    Django对接elasticsearch实现全文检索的示例代码

    搜索是很常用的功能,如果是千万级的数据应该怎么检索,本文主要介绍了Django对接elasticsearch实现全文检索的示例代码,感兴趣的可以了解一下
    2021-08-08
  • python的链表基础知识点

    python的链表基础知识点

    在本篇文章里小编给大家整理的是一篇关于python的链表基础知识点内容,有兴趣的朋友们可以参考学习下。
    2020-09-09
  • 不到20行代码用Python做一个智能聊天机器人

    不到20行代码用Python做一个智能聊天机器人

    小编先向大家介绍一下本次运用到的python库,本次项目主要运用到的库有wxpy和chatterbot。对Python做一个智能聊天机器人的相关知识感兴趣的朋友跟随小编一起看看吧
    2019-04-04

最新评论