美文网首页
flask 中的blueprint

flask 中的blueprint

作者: 迷茫_小青年 | 来源:发表于2020-05-24 22:56 被阅读0次

blueprint 是用来结构化flask中的功能模块。

主要目的就是使项目结构能清晰便于维护。

目录结构如下

flask_project
     |__  app.py
     |__  views
          |__ __init__.py
          |__ user.py

先说init.py 这个文件,内容为空。但是必须存在,因为views目录要当作一个 python包 被别的程序引用。所以必须有,但是可以不为空,我为了方便设置为空。

user.py 看做一个功能模块类,用户相关的操作都可以写在这个里面,看下代码。

from flask import Blueprint
# 导入 Flask 中的蓝图 Blueprint 模块

user_blue = Blueprint("user", __name__)
# 实例化一个蓝图(Blueprint)对象

#下面是路由和实现useradd功能
@user.route('/useradd')
def useradd():
    return 'useradd'

app.py 代码

from flask import Flask
from flask import Blueprint

from views import user
#导入views目录中的user.py ,blueprint 功能类

app = Flask(__name__)

app.register_blueprint(user.user_blue)
#在Flask对象中注册蓝图模块中的蓝图对象 user 中的 user

if __name__ == '__main__':
    app.run(debug=Ture, host='0.0.0.0', port=5000)

这个重点说下 app.register_blueprint()

一定要写成 app.register_blueprint(user.user_blue)
意思是,注册user文件里的user_blue 这个蓝图。百度内容里面很多都不写点后面的东西。导致启动后访问不到页面 404错误。

下面这个是flask官网上的例子

bp = Blueprint('auth', __name__, url_prefix='/auth')
app.register_blueprint(auth.bp)

参考:
https://dormousehole.readthedocs.io/en/latest/tutorial/views.html

https://www.cnblogs.com/DragonFire/p/9264381.html

相关文章

网友评论

      本文标题:flask 中的blueprint

      本文链接:https://www.haomeiwen.com/subject/hxpsahtx.html