首页 > 其他 > 详细

蓝图的使用

时间:2019-03-24 01:13:53      阅读:177      评论:0      收藏:0      [点我收藏+]

蓝图就是将flask程序进行模块化处理。

蓝图分为3个步骤:

(1)初始化蓝图

(2)使用蓝图去注册路由url

(3)把蓝图注册到app上

1.对单个文件进行蓝图划分

共有启动文件manage.py:

代码如下:

from flask import Flask
from order import order_blu

app=Flask(__name__)

# 3.把蓝图注册到app上
app.register_blueprint(order_blu)

@app.route("/")
def index():
    return "index"


if __name__ == __main__:
    # 存储当前Flask下面都有哪些路由和视图函数
    print(app.url_map)
    app.run(debug=True)

order.py文件代码如下:

from flask import Blueprint

# 1.初始化蓝图
order_blu=Blueprint(order,__name__)

# 使用蓝图去注册路由url
@order_blu.route("/order/list")
def user_order():
    return "订单列表"

manage.py是一个程序入口,用于启动程序,而order.py是一个功能模块,当这个功能模块做好后,需要将这个模块进行合并,就需要用到蓝图,首先要想让这个功能合并到整个项目中,步骤如下:

(1)在单独模块中导入蓝图from flask import Blueprint

(2)初始化蓝图:order_blu=Blueprint("order",__name__) ,这个就类似于主程序入口的app=Flask(__name__)

(3)使用蓝图去注册路由url:相当于写视图函数

@order_blu.route("/order/list")

def order_list():

  pass

(4)将蓝图注册到app上:首先就是导入order.py文件:from order import order_blu,其次app.register_blueprint(order_blu)

================================================================================================

2.使用模块进行蓝图划分

 

技术分享图片

 独立模块cart

(1)独立模块下要有__init__.py文件,views.py。

在__init__.py主要用于导模块,在这个文件里初始化蓝图,定义静态文件夹,渲染模板文件夹等

from flask import Blueprint

cart_blu=Blueprint(cart,__name__,static_folder="static",template_folder="templates",url_prefix="/demo")

from .views import *

所有的视图函数都在views.py文件里

from flask import render_template

from . import cart_blu
@cart_blu.route("/demo")
def index():
    return render_template("cart_index.html")

当写好视图函数后将蓝图注册到程序入口manage.py

from flask import Flask
from cart import cart_blu

app=Flask(__name__)

# 3.把蓝图注册到app上
app.register_blueprint(cart_blu)

@app.route("/")
def index():
    return "index"


if __name__ == __main__:
    # 存储当前Flask下面都有哪些路由和视图函数
    print(app.url_map)
    app.run(debug=True)

这时候就完成了蓝图注册合并。

 

蓝图的使用

原文:https://www.cnblogs.com/fjiqiang/p/10586201.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!