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对象