Flask配置蓝图

概述

Blueprint 是一个存储视图方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以及处理请求,Flask使用Blueprint让应用实现模块化。

代码编写

在项目app目录下创建一个web包用于存放所有的web页面代码,web即为项目的一个模块,下面的页面通过web蓝图来进行管理

蓝图初始化

在web包的初始化文件__init__.py下初始化蓝图配置

__author__ = 'fanxl12'

from flask import Blueprint

# 实例化蓝图
web = Blueprint('web', __name__)

car页面使用web蓝图

在web包下面创建业务文件car.py

__author__ = 'fanxl12'

from . import web


@web.route('/')
def index():
    return 'hello, world'

这里面我们导入蓝图web,然后添加路由访问

注册car模块

在web包__init__.py下面引入car完成注册
最终代码如下:

__author__ = 'fanxl12'

from flask import Blueprint

# 实例化蓝图
web = Blueprint('web', __name__)

# 实现模块下多接口的注册
from app.web import car

将蓝图注册到app上

在app初始化的地方,注册蓝图,代码如下:

__author__ = 'fanxl12'

from flask import Flask


def create_app():
    app = Flask(__name__)
    # 从模块里面加载配置文件
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')

    register_blueprint(app)
    return app


def register_blueprint(app):
    """
    注册蓝图
    :param app:
    :return:
    """
    from app.web import web
    app.register_blueprint(web)

静态文件访问

在web同级目录创建static目录,这个即为蓝图默认的静态文件访问目录,文件可以通过地址访问,这里放入11.jpg文件

模板配置

在web同级目录创建templates目录,这个即为web蓝图的模板目录,里面创建了test.html模板,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试页面</title>
</head>
<body>

    <h1>您好, {{username}}</h1>
    <img src="{{ url_for('static', filename='11.jpg') }}" style="width: 1000px">
</body>
</html>

这里接收后端传入数据username,并且访问static目录下的11.jpg
修改car.py的index视图函数,访问test.html

__author__ = 'fanxl12'

from flask import render_template

from . import web


@web.route('/')
def index():
    return render_template('test.html', username='王五')

通过render_template即可访问我们定义的模板,并传入参数username

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值