Flask 用Blueprint实现模块化的应用

在一个大型项目中,肯定会有很多模块组成,比如一个网络管理系统可能有流量运营模块,实时分析模块,故障预警模块等。我们可以利用Flask Blueprint 实现每个模块的功能进行独立的开发与管理,后面的实践案例主要体现Buleprint以下功能
1. 可以独立管理网页的静态文件,如js,css,图片等,即可以指定单纯的静态路径,同时也可能指定模版的路径。
2. 方便模块整合,无耦合。

案例工程结构:

>netmange   #工程文件夹
 app.py     #启动入口
>netflow    #netflow 模块
 views.py   #netflow 路由
 >assets    #netflow 静态文件
 >templates #netflow templates

第一个Blueprint案例 (netmange/netflow/views.py 的源码)

# -*- coding: utf-8 -*-
from flask import Blueprint, render_template, abort
from jinja2 import TemplateNotFound

netflow_manager = Blueprint("netflow", __name__, static_folder="assets",template_folder='templates')
#这是 app设置的方式:app = Flask(__name__, static_folder='', template_folder='')
#这行设置这个项目的静态根目录和模版目录,直接暴露assets文件夹为静态

@netflow_manager.route("/show", methods=['GET'])
def show():
    return "show !"

启动入口(netmange/app.py 的源码)

# -*- coding: utf-8 -*-
from flask import Flask
from netmange.netflow.views  import netflow_manager
app = Flask(__name__)
app.register_blueprint(netflow_manager)

@app.route("/", methods=["GET"])
def index():
    return "index !"

if __name__ == '__main__':
    app.run(debug=True, host='127.0.0.1', port=7888,threaded=True) #此处 threaded=True 为多线程启动

启动后,浏览器输入http://127.0.0.1:7888/show 就可以看到show
!的显示,为了验证设置的静态文件路径和模版路径是否正确,可自行添加文件在netmange/netflow/assets
和netmange/netflow/templates 里面。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢吃一口烤肉的啵啵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值