Python Flask 蓝图Blueprint

1. 目录结构

2. manage.py类似于django中manage

 

import fcrm

if __name__ == '__main__':
    fcrm.app.run(port=8001)

 

 3. fcrm下面的__init__.py文件

from flask import Flask
from .views import account          #导入fcrm.views目录下account.py模块,
from .views import order            #导入fcrm.views目录下order.py模块,

app = Flask(__name__)               #使用了蓝图,app.route() 这种模式就仍可以使用,注意路由重复的问题

app.register_blueprint(account.account)          # 将views模块里的蓝图对象account注册到app
app.register_blueprint(order.order)              # 将views模块里的蓝图对象order注册到app

 

3. fcrm.view目录下面的account和order模块

from flask import Blueprint

order = Blueprint('order',__name__)     #创建一个blueprint对象。第一个参数可看做该blueprint对象的姓名
                                         #在一个app里,姓名不能与其余的Blueprint对象姓名重复
                                         #第二个参数__name__用作初始化

@order.route('/order')           #将蓝图对象当做‘app’那样使用
def login():
    return 'Order'
from flask import Blueprint,render_template

account = Blueprint('account',__name__)

@account.route('/login')
def login():
    # return 'Login'
    return render_template('login.html')
小结思路:
    1. mange.py文件运行,首先运行fcrm目录下面的__init__.py文件中的代码
    2. init文件导入Flask以及view目录下面的py文件
    3. 接着init创建Flask对象
    4. 将views目录下面的模块文件注册到蓝图对象中
    5. mange.py最终运行的就是init中的代码app对象

 

posted @ 2018-01-10 17:16  Pythia丶陌乐  阅读(2732)  评论(0编辑  收藏  举报