胖蔡说技术
随便扯扯

Python Flask 蓝图Blueprint

蓝图(Blueprint)是Flask实现的应用模块化,通过模块化的方式分割视图,让应用的层次更加清晰,更加便于开发者开发和维护项目。通过蓝图,我们可以创建一组相同前缀的路由组合,可以用于分割应用不同的服务。如应用有两个服务:认证服务和用户服务,我们可以通过模块化分割服务,然后通过Flask注册不同前缀的蓝图。

创建main服务

先创建一个main服务,代码如下:

1、创建main.py文件

# main.py
# !/usr/bin/env python
# -*-coding:utf-8 -*-
from datetime import datetime
from flask import render_template,session,redirect,url_for,abort,request,Blueprint
main = Blueprint('main', __name__)



@main.route('/index')
def index(item_name="dashboard", **kwargs):
    return render_template('manager/index.html', item_name=item_name, kwargs=kwargs)


@main.route('/user/<username>')
def user(username):
    return render_template('user.html', user=user)

2、创建api.py文件

# !/usr/bin/env python
# -*-coding:utf-8 -*-
from flask import jsonify, request,make_response,Blueprint,Flask
from. import api


@api.route('/post/', methods=['POST'])
def post():
    json = request.json
    print(str(json))
    post1 = Post.from_json(json)
    db.session.add(post1)
    db.session.commit()
    return jsonify({
        "status": 1,
        "response": u"提交成功"
    })

3、注册Blueprint

# !/usr/bin/env python
# -*-coding:utf-8 -*-
from flask import Flask,render_template,Response
from flask_cors import CORS

def create_app(config_name):
    app = Flask(__name__)
     # 注册main服务
    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint, url_prefix='/manager')
    # 注册api服务
    from app.api import api as api_blueprint
    CORS(api_blueprint, supports_credentials=True)
    app.register_blueprint(api_blueprint, url_prefix='/api/v1.0')
    return app
赞(0) 打赏
转载请附上原文出处链接:胖蔡叨叨叨 » Python Flask 蓝图Blueprint
分享到: 更多 (0)

请小编喝杯咖啡~

支付宝扫一扫打赏

微信扫一扫打赏