Flask使用点滴之蓝图

功能区
 taochengwei   flask  flask  python  blueprint   2016-11-07   百度主动推送失败
正文区

    今天说一说Flask的Blueprint(蓝图)。

    Flask 使用了 蓝图 的概念在一个应用或者跨应用中构建应用组件以及支持通用模式。

    蓝图很好地简化了大型应用工作的方式,并提供给 Flask 扩展在应用上注册操作的核心方法。

    一个 Blueprint 对象与 Flask 应用对象的工作方式很像,但它确实不是一个应用, 而是一个描述如何构建或扩展应用的 蓝图 。

    我在这里贴具体代码,两种blueprint使用方式。(代码中涉及的flask版本为0.10.1)

    一、原生型

# -*- coding: utf8 -*-
#
from flask import Blueprint, render_template

admin_page = Blueprint("admin", __name__)

@admin_page.route("/")
def AdminIndex():
    return render_template("admin/index.html")

#以下为app主文件,以显示注册

from xxx import admin_page

app = Flask(__name__)

app.register_blueprint(admin_page, url_prefix="/admin")

    二、接口型

# -*- coding:utf-8 -*-

from utils.public import logger
from flask import Blueprint, request, g
from flask_restful import Api, Resource

class Swarm(Resource):

    def get(self):
        return True

    def post(self):
        return True

core_blueprint = Blueprint(__name__, __name__)

api = Api(core_blueprint)

api.add_resource(Swarm, '/swarm', '/swarm/', endpoint='swarm')

#以下为app主文件,以显示注册

from xxx import core_blueprint

app   = Flask(__name__)

app.register_blueprint(core_blueprint)