轻量级web框架 Flask 01


1.什么是Flask?
  • Flask:轻量级框架依赖Jinjia2 模板引擎Werzeug WSGI web微型框架
  • WSGI:Web Server GateWay InterFace(WEB 网关服务接口)
2. 安装Flask
  • 导入查看是否安装
    • import flask
    • flask.version 查看版本
  • 如果没装的话 安装Flask
  • pip3 install flask
    // 推介使用Pycharm

3.Demo1
from flask import Flask # 导入模块儿

# 构建Flask应用 以便接受用户请求
app = Flask(__name__)

# 装饰器:路由定义 匹配用户访问路径
@app.route('/')
def index(): # 视图函数(MVC  Views)  必须返回一个字符串,表示响应给浏览器的内容
    return 'This is my Flask demo'

@app.route('/Page')
def Page():
    return 'This is Test Page'

# 借助Flask内部服务  启动默认Port = 5000 测试访问
if __name__ == '__main__':
    app.run(debug=True)

4.Flask 路由(route)
  • a
  • a
  • 带参路由
    • 路由中可以携带参数来表示要传递视图中的数据
    • http://show/chinese
    • 1 基本带参路由
      • @app.route(’/show/< name >’)
      • def show(name)
        • #name: 上下必须一致,表示地址栏传递过来的数据
    • 2 多个参数路由
      • @app.route(’/show/< name >/< age >’)
      • def show(name,age)
        • return ‘name:%sage:%s’%(name,age)
    • 3 指定参数类型路由
    • @app.route(’/show/< name >/< int:age >’)
      • def show(name,age):
        • return ‘name:%sage:%s’%(name,age)
      • Flask 中类型转换器 在下面
    • 4 多URL的路由匹配
      • 允许多个URL匹配到同一个视图处理函数
      • @app.route(‘地之1’)
      • @app.route(‘地之2’)
      • def index():
        • return
    • 5 URL的反向解析
      • 正向解析:程序自动解析,根据视图函数访问路径匹配处理函数
      • 反向解析:通过视图函数名称以及参数 找到访问地址
      • 语法:
        • from flask import url_for
        • url = url_for(funcName,args)
          • 1.funcnName
            • 表示的是视图函数的名称
          • args
            • 试图处理函数的的参数
类型转换器作用
缺省字符串,除了 /
int:整数
float:浮点型
path:字符串,允许 /
5.Demo2
from flask import Flask,url_for

# 构建Flask应用 以便接受用户请求
app = Flask(__name__)

# 装饰器:路由定义 匹配用户访问路径
@app.route('/')
def index(): # 视图函数(MVC  Views)  必须返回一个字符串,表示响应给浏览器的内容
    return 'This is my Flask demo'

@app.route('/Page')
def Page():
    return 'This is Test Page'

# 带参数的路由
@app.route('/show/<name>')
def show(name):
    return '<h1>传参:%s</h1>'%name

# 带多个参数路由
@app.route('/show/<name>/<int:age>')
def show_(name,age):
    return '姓名:%s年龄:%s'%(name,age)

# URL反向解析
@app.route('/admin/user/html/uuu')
def admin():
    return '超级长的访问路径'
@app.route('/url')
def url():
    # 通过admin解析访问属性
    uu = url_for('admin')
    # 将路径构建a标记进行响应
    return  '<a href="%s">访问admin</a>'%uu


# 借助Flask内部服务  启动默认Port = 5000 测试访问
if __name__ == '__main__':
    app.run(debug=True)
6.模板
  • 什么是模板
    • 在Flask终究是能够呈现给哟过户取看的网页结构
    • 在模板中允许使用变量来表示动态数据
    • 在模板中允许使用服务端代码
      Flask是依赖于Jinja2的模板引擎
  • 模板的设置
    • 默认情况下,Flask会在项目工程目录中的一个templates 文件夹中搜索模板
  • 模板的渲染
    • 作用:在视图中,将模板文件先渲染字符串,再响应给客户端浏览器
    • 函数:render_template(‘模板名称.html’)
  • demo
  • @app.route('/') def index(): str = render_template('demo .html') return str
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值