python-Flask(十):蓝图(未完)

什么是蓝图?

一个蓝图定义了可用于单个应用的视图、模版、静态文件等等的集合。可以把蓝图当作你的应用的管理面板。

目录结构:

├── app
│ ├── admin
│ │ ├── forms.py
│ │ ├── init.py
│ │ └── views.py
│ ├── home
│ │ ├── forms.py
│ │ ├── init.py
│ │ └── views.py
│ ├── init.py
│ ├── models.py
│ ├── static
│ └── templates
├── doc
├── manage.py
└── requirement.txt

为什么使用蓝图?

假如说我们要为某所学校的每个人建立一份档案,一个很自然的优化方式就是这些档案如果能分类管理,就是说假如分为老师、学生、后勤人员等类别,那么后续查找和管理这些档案就方便清晰许多。Flask的蓝图就提供了类似“分类”的功能。

如何使用蓝图?

蓝图的杀手锏是将你的应用组织成不同的组件。假如有一个微博客的项目,我们可能需要一个蓝图作用于此网站页面,然后还需要一个用于管理员面板中展示最新的蓝图消息,以及另一个用于管理员面板的蓝图,最终你将能够把你的应用依据许多能完成单一任务的小应用组织起来。

蓝图的优势?

Flask蓝图提供了模块化管理程序路由的功能,使程序结构清晰、简单易懂。

蓝图的创建及注册

定义蓝图(admin/init.py)

从Flask中导入Blueprint类,再创建一个实例即可。Blueprint接受两个参数实例化,分别为蓝本的名字和蓝本所在的包或模块,大多数情况下第二个参数使用Python __ name__ 变量即可。

from flask import  Blueprint

# Blueprint接受两个参数实例化,分别为蓝本的名字和蓝本所在的包或模块,
# 大多数情况下第二个参数使用Python 的__name__ 变量即可。
admin =  Blueprint("admin", __name__)

from app.admin.views import  *
使用蓝图创建路由
from . import  admin

@admin.route('/')
def index():
    return  "后台主页"
注册蓝图

创建app后,即可注册已创立的蓝图。

from flask import  Flask
from app.admin import  admin as admin_blueprint
from app.home import  home as home_blueprint
from flask_script import  Manager

app = Flask(__name__)
manager = Manager(app)

# 注册admin蓝图, url_prefix='/admin'添加前缀/admin
app.register_blueprint(admin_blueprint, url_prefix='/admin')

# 注册home蓝图, 不添加前缀
app.register_blueprint(home_blueprint)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值