flask之蓝图

一、蓝图概念

蓝图(blueprint):用于实现单个应用的视图、模板、静态文件的集合。

蓝图就是模块化处理的类。类似于django中app,子应用。

简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。

flask中,将项目模块化,blueprint,是flask自带的一种开发模式,目的是为了方便开发大型的项目。

二、使用蓝图三步走

我们以一个简单的例子来实现蓝图三步走吧!

首先我们创建一个新项目

flask之蓝图_第1张图片

flask之蓝图_第2张图片 

 我们将在app.py文件中实现我们的蓝图,

# 学习蓝图
from flask import Flask
from flask import Blueprint

app = Flask(__name__)

# 1、创建一个蓝图模板
main_blue = Blueprint("main", __name__)


# 2、 定义视图函数  使用蓝图配置路由
@main_blue.route("/")
def home():
    return "

欢迎来到90年代!

" @main_blue.route("/login") def login(): return "

登录成功

" # 3、把蓝图 注册到 app上 app.register_blueprint(main_blue)

实际开发中,以上操作相对低级了些,那么我们改造一下,来使它华丽转身吧!

我们将蓝图部分转移,创建新文件夹,比如命名为apps,再在其中创建文件mainblue

flask之蓝图_第3张图片

将蓝图部分转移到mainblue文件内

from flask import Blueprint

# 1.创建一个蓝图模板
main_blue = Blueprint("name",__name__)

# 2.定义视图函数 配置蓝图路由
@main_blue.route("/")
def home():
    return "

欢迎来到90年代!

" @main_blue.route("/login") def login(): return "

登录成功!

"

 那么我们的app.py文件内,就剩下了基本操作部分,

# 学习蓝图
from flask import Flask
from apps.mainblue import main_blue

app = Flask(__name__)

# 3.把蓝图注册到app上
app.register_blueprint(main_blue,url_prefix="/main")

print(app.url_map)

运行后结果如图所示:

flask之蓝图_第4张图片

 flask之蓝图_第5张图片

 

你可能感兴趣的:(python开发,flask,python,后端)