【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文件夹
      • index.html
        • jinja2模版https://blog.csdn.net/weixin_46697247/article/details/137351512
        • 如何渲染到前端呢?
          • 在app.py文件里面视图函数return
          • @app.route('/blog')
            def blog():return render_template('index.html',html里面使用的变量名=值)

6.request

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

7.response

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

8.项目实战

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity灶台】食品加工系统模型搭建

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

pwn学习笔记(7)--堆相关源码

相关源码&#xff1a; 1. chunk 相关源码&#xff1a; ​ 对于用户来说&#xff0c;只需要确保malloc()函数返回的内存不会发生溢出&#xff0c;并且在不用的时候使用free() 函数将其释放&#xff0c;以后也不再做任何操作即可。而对于glibc来说’它要在用户第一次调用malloc…

4.4总结

这两天学习了线段树和树状数组&#xff0c;今晚上学长还在进行JDBC和MYSQL的教学&#xff0c;也收获到了一些东西 树状数组与完全二叉数结构上大致相同&#xff0c;但是完全二叉树每个节点只能存储单个数&#xff0c;而树状数组存储的是数组的范围。 从头结点开始为一整个数组…

Linux之实现Apache服务器监控、数据库定时备份及通过使用Shell脚本发送邮件

目录 一、Apache服务器监控 为什么要用到服务监控&#xff1f; 实现Apache服务器监控 二、数据库备份 为什么要用到数据库备份&#xff1f; 实现数据库备份 三、Shell脚本发送邮件 为什么要用使用Shell脚本发送邮件&#xff1f; 实现Shell脚本发送邮件 一、Apache服务器…

Spring声明式事务以及事务传播行为

Spring声明式事务以及事务传播行为 Spring声明式事务1.编程式事务2.使用AOP改造编程式事务3.Spring声明式事务 事务传播行为 如果对数据库事务不太熟悉&#xff0c;可以阅读上一篇博客简单回顾一下&#xff1a;MySQL事务以及并发访问隔离级别 Spring声明式事务 事务一般添加到…

VSCODE使用VSIX安装扩展

VSCode安装扩展特别慢&#xff0c;使用命令行安装告别龟速&#xff1a; code --install-extension当然&#xff0c;我这个是在WSL 的linux上安装的&#xff0c;Windows一样的。 VSCode扩展商店网页链接&#xff1a;https://marketplace.visualstudio.com/vscode

号卡极团分销管理系统 index.php SQL注入漏洞复现

0x01 产品简介 号卡极团分销管理系统,同步对接多平台,同步订单信息,支持敢探号一键上架,首页多套UI+商品下单页多套模板,订单查询支持实时物流信息、支持代理商自定义域名、泛域名绑定,内置敢探号、172平台、号氪云平台第三方接口以及号卡网同系统对接! 0x02 漏洞概述…

数字信号处理实验---FFT分析

一、题目&#xff1a; 二、实验要求&#xff1a; 1、绘制图形时&#xff0c;尽量选用已经提供的函数。 2、所有的图形&#xff0c;需要加上横坐标、纵坐标以及标题的说明。 3、将设计的程序保存为脚本文件&#xff0c;在实验报告中&#xff0c;需写出程序语句。 4、Matlab程…

ECC升级S/4HANA“沙箱模拟方案包“:更适用于升级环境复杂、体量大的客户

“作为一家业务体量大的公司&#xff0c;分支机构众多、数据复杂&#xff0c;想从ECC升级会有什么风险&#xff1f;”面对技术更新换代、公司业务不断扩展、网络安全问题的日益突出&#xff0c;将ECC升级到S/4HANA是企业的当务之急。为解决客户的顾虑&#xff0c;无论是对于历史…

51单片机入门_江协科技_19~20_OB记录的笔记

19. 串口通讯 19.1. 串口介绍&#xff1a; •串口是一种应用十分广泛的通讯接口&#xff0c;串口成本低、容易使用、通信线路简单&#xff0c;可实现两个设备的互相通信。 •单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信&#xff0c;极大的…

设计模式总结-建造者模式

建造者模式 模式动机模式定义模式结构模式分析建造者模式实例与解析实例&#xff1a;KFC套餐 模式动机 无论是在现实世界中还是在软件系统中&#xff0c;都存在一些复杂的对象&#xff0c;它们拥有多个组成部分&#xff0c;如汽车&#xff0c;它包括车轮、方向盘、发送机等各种…

使用labelImg标注yolov5数据集并在kaggle中使用yolov5

使用labelImg标注yolov5数据集并在kaggle中使用yolov5 文章目录 前言一、labelImg标注1.1. 下载exe文件1.2. labelImg 下载&#xff08;源码&#xff09;1.3. 环境配置1.4. 使用1.4.1. 设置1.4.2. 导入图片并标注 二、在kaggle中使用2.1. 下载源码2.2. 编辑配置文件2.3. 将压缩…

[蓝桥杯 2017 国 C] 合根植物

[蓝桥杯 2017 国 C] 合根植物 题目描述 w 星球的一个种植园&#xff0c;被分成 m n m \times n mn 个小格子&#xff08;东西方向 m m m 行&#xff0c;南北方向 n n n 列&#xff09;。每个格子里种了一株合根植物。 这种植物有个特点&#xff0c;它的根可能会沿着南北…

StarRocks使用Minio备份和还原

1.安装minio Centos7安装minio-CSDN博客 minio api端口&#xff1a;9090 下文用到这个端口 必须提前创建好桶: packfdv5 名称自定义和后面对上就可以 2.创建备份仓库 格式&#xff1a; CREATE REPOSITORY <repository_name> WITH BROKER ON LOCATION "s3a:/…

支付类漏洞挖掘技巧总结

前言&#xff1a; 支付类逻辑漏洞在漏洞挖掘中是常常出现的问题之一。此类漏洞挖掘思路多&#xff0c;奖励高&#xff0c;是炙手可热的漏洞。此篇文章主要围绕挖掘支付逻辑漏洞时的一些思路分享。 支付逻辑漏洞成因&#xff1a; 支付漏洞可能由以下原因造成&#xff1a; 前…

mybatis流式游标查询-导出DB大数据量查询OOM问题

问题场景 Mysql数据处理类型分以下三种 com.mysql.cj.protocol.a.result.ResultsetRowsStatic&#xff1a;普通查询&#xff0c;将结果集一次性全部拉取到内存 com.mysql.cj.protocol.a.result.ResultsetRowsCursor&#xff1a;游标查询&#xff0c;将结果集分批拉取到内存&…

【Windows11】cmd下运行python弹出windows应用商店解决方案

【Windows11 】cmd下运行python弹出windows应用商店解决方案 大家好 我是寸铁&#x1f44a; 总结了一篇【Windows11 】cmd下运行python弹出windows应用商店解决方案✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 今天在安装python时&#xff0c;在命令行窗口输入如下命令&a…

【面试经典150 | 动态规划】不同路径 II

文章目录 写在前面Tag题目1方法一&#xff1a;动态规划方法二&#xff1a;空间优化 题目2方法一&#xff1a;动态规划空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主…

启动mysql

删除C:\Program Files (x86)\MySQL\MySQL Server 5.7这个路径下的data文件夹&#xff0c;这个很难删除&#xff0c;因为一开机&#xff0c;mysql的某些服务就启动了&#xff0c;每次重新启动mysql之前&#xff0c;都要删除这个文件夹 因为这个文件夹在后端执行一些我们看不到的…

MySQL-逻辑架构:逻辑架构分析、SQL执行流程、数据库缓冲池

逻辑架构 1. 逻辑架构剖析 1.1 第1层&#xff1a;连接层 系统&#xff08;客户端&#xff09;访问MySQL服务器前&#xff0c;做的第一件事就是建立TCP连接。 经过三次握手建立连接成功后&#xff0c;MySQL服务器对TCP传输过来的账号密码做身份认证、权限获取。 用户名或密码…