• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MOKI3433
博客园    首页    新随笔    联系   管理    订阅  订阅

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,搞定!

 

posted @ 2021-03-07 17:55  临机一动  阅读(427)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3