在使用flask进行一个项目编写的时候,可能会有许多个模块,如一个网站的前台(home)和后台(admin)模块,如果把这两个模块都放在一个views.py文件之中,那么最后views.py文件必然臃肿不堪,并且不易维护,因此flask中便有了blueprint的概念,可以分别定义模块的视图、模板、视图等等,我们可以使用blueprint进行不同模块的编写,不同模块之间有着不同的静态文件、模板文件、view文件,十分方便代码的维护和管理。示例如下:

目录结构:

admin下__init__.py和views.py

__init__.py

#!/usr/bin/env python
#-*-coding:utf-8-*- ##定义蓝图
from flask import Blueprint adminbapp = Blueprint("admin",__name__) #adminbapp为蓝图的名称,不能和模块名称相同,否则会报错 import admin.views

views.py #!/usr/bin/env python
#-*-coding:utf-8-*- from . import adminbaqq          #.可以理解为__init__.py @adminbapp.route()
def index():
return "admin.index"

home下__init__.py和views.py

__init__.py

#!/usr/bin/env python
#-*-coding:utf-8-*- ##定义蓝图
from flask import Blueprint homebapp = Blueprint("admin",__name__) #home为蓝图的名称 import home.views views.py #!/usr/bin/env python
#-*-coding:utf-8-*- from . import home @homebapp.route()
def index():
return "home.index"

注册蓝图对象(主程序文件,本例为movie_project文件)

from flask import Flask

app = Flask(__name__)       #实例化flask
app.debug = True #导入蓝图对象(from 文件夹 import 定义的蓝图名称(本例在_init__中定义的))
from admin import adminbap as admin_blueprint
from home import homebapp as home_blueprint #注册(对象名称(蓝图名称),url前缀)
app.register_blueprint(home_blueprint)           #前台首页不需要设置后缀
app.register_blueprint(admin_blueprint,url_prefix='/admin') #后台登录设置一下前缀 @app.route('/')
def hello_world():
return 'Hello World!' if __name__ == '__main__':
app.run()

编写入口脚本(可有可无)

manage.py

#!/usr/bin/env python
#-*-coding:utf-8-*- from movie_project import app #从movie_project中导入app,也可以写成__init__.py if __name__ == '__main__':
app.run()

flask blueprint的更多相关文章

  1. flask Blueprint蓝图

    首先要了解蓝图的作用,模拟场景在团队开发过程中团队每个人都在写自己负责的功能模块,那多个py文件模板,我们如果完成后需要运行是不是要运行多个服务?但是我们的项目是一个整体,而不是零散的,所以我们怎么把 ...

  2. Python Flask Blueprint 蓝图

    Python Flask Blueprint 蓝图 本篇来了解一下 Flask 中 Blueprint 蓝图,什么蓝图 ..就是一个分模块的扩展而已,用来让不同的 业务模块api 分到不同的pytho ...

  3. flask+blueprint路由配置

    1.flask默认的静态文件和html文件在app应用文件夹里的相应文件夹下:app // Flask||--static ||--templates |静态文件默认的url地址为:url_prefi ...

  4. flask blueprint出现的坑

    from flask import Blueprint admin = Blueprint('admin',__name__) def init_bule(app): app.register_blu ...

  5. flask之Blueprint蓝图

    flask_Blueprint.py ''' flask中的Blueprint蓝图: (1)新建模块,例如Bp1.py,Bp2.py,在模块中创建蓝图实例 (2)通过app.register_blue ...

  6. 实验4、Flask基于Blueprint & Bootstrap布局的应用服务

    1. 实验内容 模块化工程内容能够更好的与项目组内成员合作,Flask Blueprint提供了重要的模块化功能,使得开发过程更加清晰便利.此外,Flask也支持Bootstrap的使用. 2. 实验 ...

  7. 客官,您的 Flask 全家桶请收好

    http://www.factj.com/archives/543.html Flask-AppBuilder          - Simple and rapid Application buil ...

  8. flask蓝图的使用

    首先,我对蓝图的理解相对通俗,就是觉得蓝图对于视图方法模块化.大项目协同开发过程中的一个很好的工具. 1.下图是我们通常情况下使用的项目组织结构

  9. python之Flask实现登录功能

    网站少不了要和数据库打交道,归根到底都是一些增删改查操作,这里做一个简单的用户登录功能来学习一下Flask如何操作MySQL. 用到的一些知识点:Flask-SQLAlchemy.Flask-Logi ...

随机推荐

  1. Python操作Memcached

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  2. Django ORM模型

    Object Relational Mapping(ORM) 一,ORM介绍 1, ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象 ...

  3. LSM

    1.MySQL存储引擎: B+树 https://blog.csdn.net/qq_26222859/article/details/80631121 2.HBase LSM树 核心:将对数据的修改增 ...

  4. Python中操作ini配置文件

    这篇博客我主要想总结一下python中的ini文件的使用,最近在写python操作mysql数据库,那么作为测试人员测试的环境包括(测试环境,UAT环境,生产环境)每次需要连接数据库的ip,端口,都会 ...

  5. 对Redis的理解

    1.redis使用的场景 热点数据(经常会被查询,但是不经常被修改或者删除的数据)

  6. Java实现一个双向链表的倒置功能

    题目要求:Java实现一个双向链表的倒置功能(1->2->3 变成 3->2->1) 提交:代码.测试用例,希望可以写成一个Java小项目,可以看到单元测试部分 该题目的代码, ...

  7. day3 python简介 IDE选择

    优势趋势基于c语言.c语言是编译底层语言,c跨平台需要重新编译,pyh可以直接使用c的库文件,比起c有绝对的开发效率目前为全球语言使用频率为第四名,第一java.从几年前第8名已超越php第6名. 擅 ...

  8. Mysql 操作技巧

    复制表结构 + 表数据Mysql> create tables t2 like t1;Mysql> insert into t2 select * from t1; mysql 索引a.A ...

  9. 树莓派(Raspberry Pi)使用Shell编写的极简Service

    树莓派(Raspberry Pi)运行的系统是基于Debian的,不仅可以运行Shell,还支持systemd和docker,可以编写一个简单的服务,让其在启动时运行,执行一些自动化的操作.这里在Ra ...

  10. 常用CSS样式速查

    writing-mode: vertical-lr; -webkit-writing-mode: vertical-lr; -ms-writing-mode: vertical-lr; 作用 CSS ...