一、蓝图

  1、什么是蓝图?(WHAT)

    1)蓝图就是模块化处理的类

    2)用于实现单个应用的视图、模板、静态文件的集合

    总结:蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能

  2、为什么使用蓝图?(WHY ,  WHERE)

    1)我们所有的视图函数都写在了一个文件当中,当我们的业务越来复杂的时候。视图函数也会变得越来越多,导致阅读不方便,维护起来困难等难题

    2)当我们以功能或模块将不同的代码进行分离,写入对应的蓝图里,可以加速我们管理项目的速度,解决上诉问题。

  3、如何使用蓝图?(HOW)

    文件目录

    

from flask import Blueprint

app1 = Blueprint('app01',__name__)
from . import views
app01/__init__.py
from . import app1

@app1.route('/index01')
def show():
    return 'app01.hello'

#下面可以写关于app1的其他函数
app01/views.py
from flask import Blueprint

app2 = Blueprint('app02',__name__)
from . import views
app02/__init__.py
from . import app2

@app2.route('/index02')
def show():
    return 'app02.hello'

#下面继续关于app02的其他视图函数
app02/views.py
from flask import Flask
from app01 import app1
from app02 import app2

app = Flask(__name__)

app.register_blueprint(app1)
#url_prefix:指定域名前缀
app.register_blueprint(app2,url_prefix='/app02')
app.register_blueprint(app1,url_prefix='/app03')
app.register_blueprint(app2,url_prefix='/app04')


if __name__=='__main__':
  app.run()

#http://127.0.0.1:5000/index01            app01.hello
#http://127.0.0.1:5000/app02/index02        app02.hello
#http://127.0.0.1:5000/app03/index01        app01.hello
#http://127.0.0.1:5000/app04/index02        app02.hello
test_blueprint.py

二、使用蓝图创建一个类django的项目工程

01-09 14:22