flask基础第一篇

flask介绍

在这里插入图片描述

虚拟环境(重点)

  • 独立的python环境
  • 作用:可以避免同一个框架的多版本冲突

2bb79679e495663d266b72daefc8c252.png

三个命令

  • 创建虚拟环境 mkvirtualenv -p python3 env21

  • 退出虚拟环境 deactivate

  • 进入虚拟环境 workon env21

  • 查看所有的虚拟环境 workon 双击tab

flask基本使用

第一个flask程序

安装第三方包 —> pip install flask==0.10.1
查看安装的所有包 ----> pip freeze

  • 在web应用中,需要展示什么就return返回什么

  • 定义路由:用于绑定URL和视图函数

debug(是否开启调试模式)的好处:

  • 页面中显示python错误
  • 更新代码后,自动重启服务器

host 绑定的IP

  • 0.0.0.0 万能IP 可以接受外网/局域网的请求

路由

  • 路径必须以路径分隔符开头

  • app.url_map保存了所有的路由规则(URL,支持的请求方式 试图函数名称)

  • postman web开发的调试工具 可以模拟请求,测试功能是否有问题

设置路由支持的请求方式
参数methods=[]

请求

request 上下文变量

  1. URL 获取本次请求的URL
  2. method 请求的方法
  3. headers 请求报文 (类字典对象)
    • 获取header中的某个数据可以使用.get(), 如果键不存在不会报错

查询字符串

  • 获取请求的查询字符串,一般用与GET数据

    如:name = request.args.get(‘name’)
    19c9ea274acd826afcd8f09e6dacc4d2.png

请求体

form 键值对数据

在这里插入图片描述

  • 如form发送默认的POST请求(form也是一个类字典对象)

files 文件

获取文件
在这里插入图片描述

data 获取文本数据 如html,json

使用request.data进行接收
返回的是bytes类型 类字符串对象 保存的是二进制数据
在这里插入图片描述

响应

自定义响应对象

视图函数只可以返回str/bytes,而且会被flask内部包装为响应对象
需要自定义响应报文时,可以手动创建响应对象
在这里插入图片描述

返回json

json是一种数据交换格式,本质是字符串

jsonify会将字典转为json字符串,并且设置响应报文中content-type为application/json
在这里插入图片描述

在这里插入图片描述

重定向

从一个网络地址跳转到另一个网络地址 如:页面跳转 a href

  • url_for可以获取视图函数的URL
    在这里插入图片描述

自定义状态码

  • 可以设置第二个返回值作为自定义的状态码
  • 作用:方便开发时快速排错
    在这里插入图片描述

异常处理

  • flask中对 http错误 封装了异常捕获和抛出异常
    在这里插入图片描述

状态保持

状态保持:记录用户访问信息的机制 如用户是否看过帮助信息,用户是否登录

cookie

  • 特点:

    • 将数据保存在客户端(用户的计算机中)
    • 每次请求时,浏览器会自动将cookie数据发送给服务器
  • 场景

    • 保存一些不太重要的数据,可以减轻服务器的存储压力
  • 示意图
    在这里插入图片描述

  • cookie实现举例
    在这里插入图片描述

  • 如何删除cookie中保存的数据
    在这里插入图片描述

  • cookie过期时间

    • max-age
      1. ‘-1’:浏览器关闭时,cookie数据会被删除 max-age默认值为-1
      2. ‘0’: 直接删除cookie
      3. ‘正数’:max-age=5,表示5秒后cookie数据会被删除
        在这里插入图片描述
  • 删除cookie
    本质是将max-age设置为0
    在这里插入图片描述

cookie细节

  • 一旦保存了cookie,该网站的任意路由都可以获取到cookie
  • 同源策略:浏览器只会将该网站自己的cookie数据发给服务器
  • 前端也可以读写cookie

session

  • 特点:将数据保存在服务器中(一般是服务器的数据库中)
  • 场景:
    • 一般适合保存重要/敏感的数据

猜你喜欢

转载自blog.csdn.net/weixin_43621811/article/details/84402178