1. 什么是Flask

1) Flask 介绍

Flask是一个基于Python并且依赖于Jinja2模板引擎和Werkzeug WSGI 服务的一个微型框架
WSGI :Web Server Gateway Interface(WEB服务网关接口),定义了使用python编写的web app与web server之间接口格式

2) Flask 的框架模式 - MTV

  1. 经典三层结构 :MVC模式

    • M :Models ,模型层,负责数据库建模
    • V :Views,视图层,用于处理用户显示的内容,如 :html
    • C :Controller,控制器,处理与用户交互的部分内容。处理用户的请求并给出响应
  2. python常用:MTV模式
    • M :Models ,模型层,负责数据库建模
    • T :Templates ,模板层,用于处理用户显示的内容,如:html
    • V :Views ,视图层,处理与用户交互的部分内容。处理用户的请求并给出响应

2. 准备工作

  1. 安装 flask

    sudo pip3 install flask
    
  2. 查看flask版本

    • 进入python3交互模式 :
    >>>import flask
    >>>flask.__version__
    
    • 注意 :不同版本之间会有细微差异,尽量以教学环境为主
  3. 初始化flask应用

     from flask import Flask# 将当前运行得到主程序构建成Flask的应用,以便接收用户的请求(request),并给出响应(response)app = Flask(__name__)@app.route('/')def index():return "<h1>this is my first flask app</h1>"# 运行Flask应用if __name__ == '__main__':app.run(debug=True)
    
    • @app.route(): Flask中的路由定义,定义用户的访问路径, / 表示的是整个网站的根路径
    • def index(): 表示匹配上@app.route()路径后的处理程序-视图函数,该类函数必须要有return,return后要给一个字符串 或 响应对象
    • 运行应用后会启动flask自带的小型服务器,默认在本机开启的端口号是5000
    • debug=True,是将当前的启动模式改为调试模式(开发环境中推荐使用调试模式,生产环境中不允许使用)

二、Flask 使用

1. Flask-路由(route)

1) 什么是路由

  • 客户端将请求发送给web服务器,web服务器再将请求发送给flask程序实例
  • 程序实例需要知道每个url请求要运行哪些代码,所以需要建立一个 url 到 python 函数的映射

路由就是处理url和python函数之间的关系的程序
在Flask中,路由是通过 @app.route 装饰器来表示的

2) 路由的使用

  1. 基本使用方式

    @app.route('/')
    def index():return 'This is index page.'@app.route('/login')
    def login():return 'This is login page.'
    
  2. 带参数的路由

    • 基本带参路由
    @app.route('/show/<name>')
    def show1(name):# 在函数中 name 表示的就是地址栏上传递过来的数据return 'xxx'
    
    • 带多个参数的路由
    @app.route('/show2/<name>/<age>')
    def show1(name,age):# 在函数中 name 表示的就是地址栏上传递过来的数据return 'xxx'
    
    • 指定参数类型的路由
    @app.route('/show3/<name>/<int:age>')
    def show1(name,age):# 在函数中 name 表示的就是地址栏上传递过来的数据return 'xxx'
    
  3. 多 URL 的路由匹配

    • 允许在一个视图处理函数中设置多个url路由规则
    @app.route('/')
    @app.route('/index')
    def index():return "xxx"
    
  4. 路由中设置 HTTP 请求方法

    • Flask路由规则也允许设置对应的请求方法,只有将匹配上请求方法的路径交给视图处理函数去执行
    • 如果没有指定请求方法,默认允许GET请求
    #只有post请求方式允许访问 localhost:5000/post
    @app.route('/post',methods=['POST'])
    def post():return 'xxxx'
    

3) 反向解析

  • 正向解析:程序自动解析,根据@app.route()中的访问路径来匹配处理函数

  • 反向解析:通过视图处理函数的名称自动生成视图处理函数的访问路径

    • Flask 中提供了 url_for() 函数,用于反向解析url
    @app.route('/')
    def index():return "Index"@app.route('/show/<name>')
    def show(name):return "name:%s" % name
    
  1. url_for(‘index’) : 结果为 :/
  2. url_for(‘show’,name=‘qtx’) : 结果为 :/show/qtx

2、Flask模板(templates)

1) 什么是模板

  1. 模板是一个包含响应文本的文件(通常是html文件)
  2. 模板中允许包含"占位变量"来表示动态的内容,"占位变量"最终会被真实的值所替换
  3. 模板最终也会被解析成响应的字符串,这一过程称为"渲染"

2) 模板的设置

  1. 默认模板目录
    默认情况下,Flask会在程序文件夹中的 templates 子文件夹中寻找模板
    注意:需要手动创建 templates 文件夹

  2. 自定义模板文件的目录
    可以修改配置,为template_folder属性指定一个文件名字符串

    app = Flask(__name__,template_folder='templates') # 配置模板文件的文件夹
    
  3. 模板语法
    占位变量 {{ 变量名 }}
    注释 {# 要注释的内容 #}

标签 {% 标签名 %}
{% 结束标签(end+标签名) %}

        {% if 条件 %}{% elif 条件2 %}{% else %}{% endif %}{% for 变量名 in 可迭代对象 %}{% endfor %}

Flask框架介绍与概述相关推荐

  1. python中Flask框架介绍

    Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架. Flask 本身相当于一个内核,其他几乎所有的功能都 ...

  2. Flask框架-介绍

    Flask简介: Flask诞生于2010年,是用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架. Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flas ...

  3. flask框架----介绍

    目录 flask是什么 常用的扩展包 安装 pycharm配置虚拟环境 requirements文件 第一个flask应用 request对象的属性和方法 视图中的响应 案例练习 flask是什么 使 ...

  4. 师傅带徒弟学:Python Web之Flask框架-关东升-专题视频课程

    师傅带徒弟学:Python Web之Flask框架-317人已学习 课程介绍         Python Web是Python语言一个重要的应用方面,Python Web有很多,其中Flask和Dj ...

  5. python写一个app接收摄像头传输的视频_使用Python的Flask框架实现视频的流媒体传输...

    Flask 是一个 Python 实现的 Web 开发微框架.这篇文章是一个讲述如何用它实现传送视频数据流的详细教程. 我敢肯定,现在你已经知道我在O'Reilly Media上发布了有关Flask的 ...

  6. 偷懒的网络框架libevent、libev框架介绍

    libevent.libev框架介绍 前言 概述 libevent 编译安装libevent libevent的封装层次 IO事件检测的封装与api介绍 事件管理器event_base `构建事件管理 ...

  7. flask框架和配置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录​​​​​​ flask框架介绍 flsak框架的安装 实现Flask基本操作 Flask的配置​​​ flask框架介绍 F ...

  8. 我爱Flask框架之Flask简介与URL和视图介绍

    一:虚拟环境介绍 黄色部分重点注意 虚拟环境与全局环境: 我们通过pip安装了一个python库,可能在编辑器中不能使用(如:pycharm,vscode-)这是因为: 通过pip安装的库默认一般安装 ...

  9. python django flask介绍_Python开发WEB框架Flask详细介绍

    Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...

最新文章

  1. Timer 和TimerTask 的定时任务入门
  2. NanoDet:轻量级(1.8MB)、超快速(移动端97fps)目标检测项目
  3. retinaface查看样本
  4. python菜鸟excel教程-Python菜鸟之路: 封装通用excel操作
  5. jvm十二:自定义类加载器
  6. 共享一个邮件发送的程序( share a Mail Sending program)
  7. truncate table 非常慢_你真的知道怎么分析mysql的慢sql吗?
  8. 对象属性对话框只能放大不能缩小
  9. Marshal在C#中的应用(void *指针到IntPtr的转化)
  10. 2017年计算机基础知识答题宝典,2017年全国职称计算机考试答题技巧分享
  11. Spring开启方法异步执行
  12. Linux学习之常用技巧
  13. opencv方框内图像保存_opencv::将两幅图像合并后,在同一个窗口显示;并将合并的图像流保存成视频文件...
  14. 微信小程序电商实战-购物车(下)
  15. Node.js IP 库引擎 lib-qqwry v1.3.0 发布,支持命令行下使用
  16. OSChina 周一乱弹 —— 只要给网,这种生活我能过一辈子
  17. 【课程设计】图书管理系统 C语言版---操作系统版
  18. matlab预测1人均gdp,基于时间序列模型下河南人均GDP的预测分析
  19. python画图入门——for循环及调色盘的应用
  20. Windows系统百宝箱

热门文章

  1. 西蒙·威利森的博客对博客的建议
  2. 5.5GW光伏领跑者规模存争议:将带来高效产能供应紧张?
  3. kali远程登录window_Kali上rdesktop远程windows使用说明
  4. 在win10+vs2019下对openmvg+openmvs的编译总结
  5. 吲哚菁绿ICG-Osu,ICG-PEG12-Osu,吲哚菁绿-聚乙二醇-活性酯
  6. ImageGP新上工具:序列提取ID、motif、翻译、反向互补
  7. postfix收发邮件控制,实现少数人随便发,大部分人只能给所属域发
  8. SpringBoot统一清理数据
  9. Vue 引用网络图片 403拒绝访问
  10. AidLux+无人机——AI电力巡检新模式