【Python的第三方库】flask

1. Flask是什么?

基于python的web后端开发轻量级框架; 基于MVT设计模式即Models,Views,Templates(html+模板语言)

2.中文文档:

        https://dormousehole.readthedocs.io/en/2.1.2/index.html

3.依赖3个库:

  • Jinja2  模版:静态html+模版语言{% %}
  • Werkzeug
  • WSGI工具集

4.Flask的整体流程

主要作用:

  •  服务支持,让浏览器可以访问到代码(Flask对象运行起来,其他用户输入url可以访问服务)
  • 接收请求,接收浏览器的数据,并处理(跳转到对应的视图函数处理)
  • 响应结果 ,处理完结果后,给予用户响应(return 处理结果)

5.Flask整体框架结构

  • 文件下有三层:
    • app.py,以下是整体结构
      • 步骤1:导入Flask模块
        from flask import Flask,render_template
      • 步骤2:创建Flask后端服务对象
        app = Flask(__name__)
      • 浏览器请求到服务端,进入对应的路由,访问路由绑定的视图函数即path与视图
        • 路由
        •          是否带参 示例
          path 无参

          场景1:

          @app.route('/index‘)

          def index():

                  return 字符串/json/模版渲染

          场景2: 查询传参更加灵活

          客户端请求path可能是/index?page=2

          @app.route('/index‘)

          def index():

                  # 获取到参数page的值2

                  page = requests.arg.get("page",default=1,type=int)

                  return 字符串/json/模版渲染

          场景3: 客户端是输入框且type=text的,name=x

          @app.route('/index‘)

          def index():

                  page = requests.arg.get("name")

                  return 字符串/json/模版渲染

          有参

          (1) int

          @app.route('/index/<bog_id>')

          def index(blog_id):

                  return f"您的博客id是:{blog_id}"

          (2)string  

          (3)float

          (4)path

          (5)uuid  

          (6)any(选项1,选项2,选项3)  从列出的项目中选择一个   /xx/<any():fruit>/

          methods 默认是get
          想要支持post

          @app.route('/index‘,methods = [‘GET’,”POST])

          def index():

                  return 字符串/json/模版渲染

        • 视图
      • 启动后端服务
        • 可选参数1: debug
          • 作用:
            • 热加载,修改代码后不用手动重启服务
            • 可以将错误信息输出在浏览器上
        • 可选参数2: host
          • 默认是127.0.0.1,则仅可自己访问到flask项目
          • 修改为0.0.0.0,则其他ip地址均可访问到flask项目
          • 比如我的ip地址是: 198.168.2.92,端口是8000,则客户端可通过输入198.168.2.92:8000访问我的flask项目
        • 可选参数3: port
          • Flask的默认端口:5000,可能已经被别人使用,所以需要修改port
            • if __name__ == '__main__':
                 
                  app.run(debug=True,host='0.0.0.0',port=8000)  
    • static文件夹
    • templates文件夹

6.request

  • 服务器在接收到客户端的请求后,由Flask框架自动创建,request对象不可修改
  • 作用:获取客户端传来的参数值
  • 导入: from flask import request

7.response

  • 作用:返回给客户端的数据

8.项目实战

相关推荐

  1. python

    2024-04-05 08:40:03       15 阅读
  2. Python常见[详细解析]

    2024-04-05 08:40:03       8 阅读
  3. Python--OpenCV】随笔

    2024-04-05 08:40:03       44 阅读
  4. Python安装出错

    2024-04-05 08:40:03       38 阅读
  5. Python-】cv2

    2024-04-05 08:40:03       14 阅读
  6. Rust 常用

    2024-04-05 08:40:03       51 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-05 08:40:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-05 08:40:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-05 08:40:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-05 08:40:03       20 阅读

热门阅读

  1. Linux服务器之间SSH免密登陆

    2024-04-05 08:40:03       14 阅读
  2. ssh 连接linux经常断开

    2024-04-05 08:40:03       13 阅读
  3. 开源 riscv 的一些实现和资料链接

    2024-04-05 08:40:03       19 阅读
  4. 【WPF应用32】WPF中的DataGrid控件详解与示例

    2024-04-05 08:40:03       17 阅读
  5. 分布式数据库中间件 Mycat 和 ShardingSphere 对比

    2024-04-05 08:40:03       13 阅读
  6. 枚举类练习

    2024-04-05 08:40:03       11 阅读
  7. 【设计模式】1、单例模式

    2024-04-05 08:40:03       11 阅读
  8. ubuntu23 安装minio

    2024-04-05 08:40:03       11 阅读
  9. CSS简介

    CSS简介

    2024-04-05 08:40:03      12 阅读
  10. 理解数学概念——整函数(复平面可积函数)

    2024-04-05 08:40:03       27 阅读
  11. VSCode 插件 Todo Tree 待办事项

    2024-04-05 08:40:03       20 阅读