在使用flask进行一个项目编写的时候,可能会有许多个模块,很不方便管理维护,flask中便有了blueprint的概念。可以分别定义模块的视图、模板、视图等等,我们可以使用blueprint进行不同模块的编写,不同模块之间有着不同的静态文件、模板文件、view文件,十分方便代码的维护和管理。
目录结构如图:
run.py代码如下:
from flask import Flask
from flask import render_template
app = Flask(__name__)
from routes_mod.user import *
from routes_mod.mobile import *
app.register_blueprint(user,url_prefix='/user')
app.register_blueprint(mobile,url_prefix='/mobile')
@app.route('/')
def hello_world():
return render_template('index.html')
if __name__ == '__main__':
# app.run(host='127.0.0.1', port=8888, debug=True)
app.run(port=8888, debug=True)
user.py代码如下:
# -*- coding:utf-8 -*-
__author__ = '三天',
__time__ = '2018/5/28 下午10:01',
version = '',
from flask import Blueprint,render_template
user=Blueprint('user',__name__)
@user.route('/userinfo')
def userinfo():
return render_template("user.html")
mobile.py代码如下:
# -*- coding:utf-8 -*-
__author__ = '三天',
__time__ = '2018/5/28 下午10:01',
version = '',
from flask import Blueprint,render_template
mobile=Blueprint('mobile',__name__)
@mobile.route('/mobileinfo')
def mobileinfo():
return render_template("mobile.html")
index.html代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>主页</title>
</head>
<body>
<a href="/user/userinfo">用户信息</a>
<a href="/mobile/mobileinfo">移动设备</a>
</body>
</html>
user.html和mobile.html略。