美文网首页
Flask基础01

Flask基础01

作者: 探索1者 | 来源:发表于2018-12-06 09:52 被阅读0次
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',变量=值,变量=值,...)
    在模板中获取变量的值
    {{变量名}}

相关文章

网友评论

      本文标题:Flask基础01

      本文链接:https://www.haomeiwen.com/subject/gkdncqtx.html