zoukankan      html  css  js  c++  java
  • Flask 蓝图(分文件)

    Flask 蓝图(分文件)

    Flask蓝图的作用是为了项目目录更清晰,也可以防止循环导入

    一.使用蓝图之中小型系统

    项目目录结构

    -flask_pro
        -flask_test
            -__init__.py
            -static
            -templates
            -views
                -order.py
                -user.py
        -run.py 

    __init_.py

    from flask import Flask
    app = Flask(__name__)
    
    from .views import user
    from .views import order
    
    app.register_blueprint(user.us)   #注册蓝图app.register_blueprint(蓝图的对象)
    app.register_blueprint(order.us)   

    run.py

    from flask_pro.flask_test import app
    
    if __name__ == '__main__':
        app.run()

    user.py

    from flask import Blueprint
    
    us = Blueprint("user",__name__)  #蓝图的对象的名称=Blueprint('自定义蓝图名称',__name__)
    
    @us.route("/user")
    def user():
        return "user"

    order.py

    from flask import Blueprint
    
    us = Blueprint("order",__name__)  #蓝图的对象的名称=Blueprint('自定义蓝图名称',__name__)
    
    @us.route("/order")
    def order():
        return "order"

    二.使用蓝图之大型系统

    项目目录结构

    │  run.py  
    │
    └─pro_flask  # 文件夹__init__.py 
        │
        ├─admin  # 文件夹
        │  │  views.py
        │  │  __init__.py
        │  │
        │  ├─static # 文件夹
        │  └─templates  # 文件夹
        │
        └─web   # 文件夹
           │  views.py
           │  __init__.py
           │
           ├─static  # 文件夹
           └─templates # 文件夹
        

    run.py启动app

    from pro_flask import app
    
    if __name__ == '__main__':
        app.run()

    __init__.py 实例化核心类,导入蓝图对象,注册蓝图

    from flask import Flask
    from .admin import admin
    from .web import web
    
    app = Flask(__name__)
    
    app.register_blueprint(admin, url_prefix='/admin')   # 起分路由的作用,前缀加/admin
    app.register_blueprint(web)

    admin.views.py 完成路由注册以及视图函数

    from . import admin
    
    @admin.route('/index')
    def index():
        return 'Admin.Index'

    admin.init.py 生成蓝图对象导入views,使得views的代码运行完成路由注册

    from flask import Blueprint
    
    admin = Blueprint(
        'admin',
        __name__,
        template_folder='templates',
        static_folder='static'
    )
    from . import views

    web文件夹下和admin文件夹下目录构成完全一致,此处不再举例

  • 相关阅读:
    最小生成树问题-prim算法求解
    排序算法7---快速排序算法
    IOS工作笔记(九)
    NSUserDefaults的一些用法
    UIActionSheet的简单使用
    如何处理过多使用懒加载的问题?
    prefix.pch文件的一些简单使用
    IOS工作笔记(八)
    登录时本地保存账号密码及关闭ARC的方法
    IOS页面跳转的方法
  • 原文地址:https://www.cnblogs.com/baohanblog/p/12528601.html
Copyright © 2011-2022 走看看