flask蓝图blueprint是什么

蓝图 blueprint

简单的说,就是帮助我们对flask程序进行目录结构的划分;django项目创建时,是自动生成项目目录,而在flask这里,需要我们自己来规划,这就需要blueprint来将整个项目进行规划和联系

  • 目录结构

  • 导入配置文件时的注意事项

    导入配置文件
    from . import settings
    from flask import Flask
    
    def create_app():
        app = Flask(__name__)
    
        @app.before_request
        def f1():
            print('f1')
    
        # 注意导包的顺序:导入的顺序要在配置文件加载完成后再导入,因为account或者user等蓝图中有可能会使用settings中的数据
        from .views.account import account
        from .views.user import user
         
        app.register_blueprint(account)
        app.register_blueprint(user)
        return app
    
  • 蓝图的创建

    from flask import Blueprint,url_for
    
    # 创建了一个蓝图对象
    account = Blueprint('account',__name__)
    
    
    @account.before_request
    def xx():
        print('xx')
    
    
  • 路由url_for

    from flask import Blueprint,url_for
    
    # 创建了一个蓝图对象
    account = Blueprint('account',__name__)
       
    @account.before_request
    def xx():
        print('xx')
    
    @account.route('/login')
    def login():
    
        url = url_for('account.register')
        print(url)
        return 'Login'
    
    @account.route('/register')
    def register():
        return 'register'
    
原文地址:https://www.cnblogs.com/jjzz1234/p/12026046.html