栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【python】Flask之蓝图Blueprint

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【python】Flask之蓝图Blueprint

一、蓝图介绍

蓝图是Flask提供的一个类,其具备Flask核心对象的很多功能,最重要的就是注册路由,通过Flask的蓝图,可以把整个项目分成不同的模块并在不同的模块中增加不同的功能,可以在一个应用或跨越多个项目共用蓝图
使用蓝图可以简化大型项目的开发难度,为Flask扩展了一种在应用中注册服务的集中式机制

二、创建蓝图 2.1 创建app.py作为Flask核心

注意:蓝图的注册需要放到main中进行注册,否则会进行报错

from flask import Flask, render_template, url_for, flash
from flask import request,session,g,redirect
from Control import commic_control,comment_control,user_control,admin_control
from flask_sqlalchemy import SQLAlchemy
from controller.userService import userService
import pymysql

app = Flask(__name__,static_url_path='/')
app.config['SECRET_KEY'] = "dsadsaffds"  # 设置生成session ID
app.config['SQLALCHEMY_DATAbase_URI'] = 'mysql+pymysql://root:123456@localhost:3306/'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)  # 实例化对象

app.register_blueprint(userService)

if __name__ == '__main__': 
    app.run(debug=True,host='127.0.0.1',port=3399)
2.2 注册蓝图

在controller/userService/__init__.py文件中注册蓝图

from flask import Blueprint
userService = Blueprint('userService', __name__,url_prefix="/auth")

userService:蓝图的名称,这是一个必须的参数,这里的蓝图名称就是构成视图函数 endpoint 的一部分url_prefix="/auth": 该蓝图下所有路由的前缀地址 2.3 使用

在controller/userService/auth.py文件中

from controller.userService import userService
"""
登陆接口
"""
@userService.route('/login', methods=['POST'])
def login():
    pass
三、应用场景
    将不同的功能模块化
    a. 一个项目可以具有多个Blueprint
    b. 可以将一个Blueprint注册到任何一个未使用的URL下比如 “/”、“/sample”或者子域名
    c. 在一个应用中,一个模块可以注册多次
    d.Blueprint可以单独具有自己的模板、静态文件或者其它的通用操作方法,它并不是必须要实现应用的视图和函数的
    e.在一个应用初始化时,就应该要注册需要使用的Blueprint构建大型应用优化项目结构增强可读性、易于维护
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号