您当前的位置: 首页 >  Python

Python全栈:flask的blueprint蓝图使用

彭世瑜 发布时间:2018-06-06 19:44:04 ,浏览量:4

Flask的 app 和 Blueprint蓝图 就好比 Django 的project 和 app, 可以使应用模块化

flask最小框架
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()
定义蓝图
# api/main.py

from flask import Blueprint

app_api = Blueprint(name="app_api", import_name=__name__)

@app_api.route("/")
def show():
    return "hello world app_api"

注册蓝图

在最小框架中修改

# run.py

from flask import Flask

# 引入蓝图文件
from demo.api.main import app_api

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World! index'

# 注册蓝图
app.register_blueprint(blueprint=app_api, url_prefix='/api')

if __name__ == '__main__':
    app.run(host="127.0.0.1", port=5002)

访问测试: http://127.0.0.1:5002/ -》 Hello World! index http://127.0.0.1:5002/api/ -》 hello world app_api

so eazy!!!

静态文件和模板文件

在定义蓝图中修改


app_api = Blueprint(name="app_api", import_name=__name__,
                    static_folder='static',  # 静态文件
                    template_folder='templates'  # 模板文件夹
        )

重定向

run.py 文件中修改

@app.route('/hello')
def hello():
    return redirect(url_for("app_api.hello_world"))
404

run.py 文件中修改

@app.errorhandler(404)
def page_not_found(e):
    return "404"

参考文章: 使用蓝图的模块化应用

关注
打赏
1688896170
查看更多评论

彭世瑜

暂无认证

  • 4浏览

    0关注

    2727博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0471s