首页 > 其他 > 详细

Flask 蓝图(分文件)

时间:2020-03-20 01:21:42      阅读:63      评论:0      收藏:0      [点我收藏+]

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文件夹下目录构成完全一致,此处不再举例

Flask 蓝图(分文件)

原文:https://www.cnblogs.com/baohanblog/p/12528601.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!