Flask基础01

Flask框架
  1. Flask 是一个基于python并且依赖于Jinja2模板引擎和 Werkzeug WSGI 服务的一个微型框架
  2. Flask中包含一个轻量级的web服务器主要用于在开发阶段测试使用
  3. WSGI:Web Server Gateway interface(Web服务网关借口)

安装Flask

  1. 查看已安装的Flask 及其版本
    在python的交互模式中查看:
    import flask:检测有没有安装flask
    flask.__version__ :查看版本

  2. 安装Flask
    sudo pip3 install flask
    pip3 download flask -- 只下载,不安装

  3. Flask 初始化

    from flask import Flask
    app = Flask(__name__)
    @app.route('/')
    def index():
        return ''
    if __name__ == '__main__':
        app.run(debug=True,port=5555,host='0.0.0.0')
    
    
  4. 什么是路由

    客户端发送请求给服务器,服务器需要将请求发送给Flask程序实例

    程序实例需要知道每个url请求对应的处理代码是谁,所以程序中必须有一个url 请求地址到python运行函数的一个映射,处理url和函数之间的关系的程序就是‘路由’。

  5. 路由的体现
    在flask中,路由是通过@app.route('/')装饰器来表示的
    根路由 http://127.0.0.1:5000
    @app.route('/manager/admin/login')
    def login():
    ​ return 'xxx'

带参数的路由
​ 路由中可以携带参数来表示要传递到视图中的数据
http://localhost:5000/show/laowang
http://localhost:5000/show/wangwc

  1. 基本带参的路由
@app.route('/show/<name>')
def show1(name):
     name: 表示的就是地址栏上传递的数据
     pass
  1. 指定参数类型的路由
    允许在声明路由时指定参数类型
    避免了在程序中再转换
@app.route('/show/<name>/<int:age>')
def show(name,age):
    name: 字符串
    age: 整型

Flask中所支持的类型转换器:

类型转换器 作用
缺省 字符串,不能有斜杠
int 整型
float 浮点型
path 字符串,可以有斜杠('/')

3.为多个url访问地址匹配同一个视图函数

@app.route('/地址1')
@app.route('/地址2')
def index():
    pass
  1. 路由中设置http请求方法

    在Flask中默认只能接收get请求,无法接受post请求

    在Flasl中允许设定可以接收的请求方式,如果请求方式不匹配的话,会响应回405(Method Not Allowed)

    @app.route('/xx',methods=['GET', 'POST'])

    def xxx():

    ​ 该函数既能够接收post请求,也能接收get请求

URL的反向解析

正向解析: 程序自动解析,根据@app.route()中的访问路径,来匹配处理函数
反向解析: 通过视图处理函数的名称自动生成对应的访问路径

在Flask中要实现反向解析:

   url_for(funName, args)
    funName: 要生成地址的函数名
    args: 该地址中需要的参数
模板--Templates
  1. 什么是模板
    模板,在Flask中就是允许响应给用户看的网页
    在模板中,允许嵌入动态的内容
    模板最终也会被解析成字符串再响应给客户端,这一过程称为'渲染'
    Flask中,模板是依赖于Jinja2的模板系统
    http://jinja.pocoo.org/

  2. 模板的设置
    默认情况下,Flask会在程序目录中搜索一个 templates 的目录作为模板的存放目录

  3. 模板的渲染
    作用:在视图中,将模板文件(xx.html)渲染成字符串之后,再响应给浏览器
    语法:
    fromflask import render_template
    render_template('xx.html')
    参数: 要渲染的模板
    返回值:该模板中的字符串内容

    传递变量到模板中
    render_template('xx.html',变量=值,变量=值,...)
    在模板中获取变量的值
    {{变量名}}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,303评论 22 257
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • 第一章 1.1 Hello,Flask! app.py 1.1.1 创建示例程序 ​ 我们安装Flask时,他...
    懵懂_傻孩纸阅读 5,367评论 0 8
  • flask使用操作指南1 1. flask介绍 Flask是一个基于Python实现的web开发的'微'框架 中文...
    文化银儿阅读 17,330评论 4 18
  • 文/连岳 我偏爱女性。说这话不是因为我是直男,否则就是废话。 有小环境的因素,从小身边的一些女性就特别聪明,我妹是...
    i夜闻阅读 5,526评论 0 0