蓝图

一、定义

对程序进行目录结构划分

二、自定义份文件

2.1 目录结构

-templates

-views

  -__init__.py

  -user.py

  -order.py

-app.py

2.2 app.py

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

2.3 init.py

from flask import Flask,request
app = Flask(__name__)
#不导入这个不行
from . import account
from . import order
from . import user

2.4 user.py

from . import app
@app.route('/user')
def user():
    return 'user'

2.5 order.py

from . import app
@app.route('/order')
def order():
    return 'order'

三、使用蓝图之中小型系统

3.1 目录结构

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

3.2 __init__.py

from flask import  Flask
app=Flask(__name__)
from flask_test.views import user
from flask_test.views import order
app.register_blueprint(user.us)
app.register_blueprint(order.ord)

3.3 manage.py

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

3.4 user.py

from flask import Blueprint
us=Blueprint('user',__name__)

@us.route('/login')
def login():
    return 'login'

3.5 order.py

from flask import Blueprint
ord=Blueprint('order',__name__)

@ord.route('/test')
def test():
    return 'order test'

四、使用蓝图之大型系统

大型项目,可以模拟出类似于django中app的概念

五、总结

  • xxx = Blueprint('account', name,url_prefix='/xxx') :蓝图URL前缀,表示url的前缀,在该蓝图下所有url都加前缀
  • xxx = Blueprint('account', name,url_prefix='/xxx',template_folder='tpls'):给当前蓝图单独使用templates,向上查找,当前找不到,会找总templates
  • 蓝图的befort_request,对当前蓝图有效
  • 大型项目,可以模拟出类似于django中app的概念

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2019-11-10 12:09  软饭攻城狮  阅读(83)  评论(0编辑  收藏  举报

导航