flask分离路由,前面是最笨的方法,最好的办法是使用蓝图
目的:把写在app.py 中的路由分离到其他文件夹
上面的方式不够优雅,更优雅的方法是使用蓝图(BluePrint)
如下:
目录结构如下:
app.py
from management import view if __name__ == '__main__': view.run()
admin.py
from flask import Blueprint, render_template, request admin = Blueprint('admin', __name__) @admin.route('/index') def index(): return render_template('admin/adminmanagement.html') @admin.route('/add') def add(): return 'admin_add' @admin.route('/show') def show(): return 'admin_show'
user.py
from flask import Blueprint, render_template, redirect user = Blueprint('user', __name__) @user.route('/index') def index(): return 'nice' # return render_template('user/seeHello.html') @user.route('/add') def add(): return 'user_add' @user.route('/show') def show(): return 'user_show'
view.py
from flask import Flask # 这种写法也可 # from management.admin.admin import admin # from management.user.user import user # 这里是你python的语法不足,所以你想了一宿。。。,不是框架的问题 # from admin import admin 是错误写法,编译器找不到这个函数 # 这里是用的相对路径 from .admin.admin import admin from .user.user import user app = Flask(__name__) app.register_blueprint(admin, url_prefix='/admin') app.register_blueprint(user, url_prefix='/user') def run(): app.run(debug=True)
运行结果:
OK,搞定!