当前位置: 首页 > 工具软件 > Blueprint > 使用案例 >

python @register_Flask中register_blueprint注册Blueprint的疑问

壤驷彦
2023-12-01

其实这不是 flask 的问题,归根到底还是 python 的import问题。

题主要理解register_blueprint 这个函数接受的参数是什么,很明显,应该是 BluePrint 的对象,那么如果你将你的:

app.register_blueprint(admin.bapp, url_prefix='/admin')

修改成:

app.register_blueprint(admin, url_prefix='/admin')

这里的 admin 是一个模块,而不是 BluePrint 对象,教程上可以直接使用:

app.register_blueprint(admin, url_prefix='/admin')

是因为它的 admin 本来就是 Blueprint 对象,如果你这里要直接传一个变量的话,应该这么写:

#coding:utf-8

from flask import Flask

from entity import DBUtuis, User

from flask.templating import render_template

from web.controller.admin import bapp

app = Flask(__name__)

# 这个地方有疑问,不知道问什么一定要是admin.bapp

# 看到的代码例子上都是直接用模块名称就可以的

app.register_blueprint(bapp, url_prefix='/admin')

#设置调试为true,可以不用重启既可以

app.debug = True

@app.route('/index')

def index():

return render_template('index.html', name='huangteng')

if __name__ == "__main__":

app.run()

我修改了两句,分别是:

from web.controller.admin import bapp

...

app.register_blueprint(bapp, url_prefix='/admin')

这样就对了。

 类似资料: