flask-模板继承

本文基于《Flask Web开发》一书,探讨模板继承的概念,并以Flask-Bootstrap为例进行说明。首先介绍了如何安装Flask-Bootstrap,然后解释了导入模块的重要性,并指出将'bootstrap'文件夹放在templates文件夹下是正确引用的关键。通过复制site-packages中的bootstrap文件夹到templates,解决了调用失败的问题,确保模板能正常运行。
摘要由CSDN通过智能技术生成

看《flask web开发》这本书学习,有些比较难懂的写下来,模板以flask-bootstrap为例

首先先安装flask-bootstrap

pip install flask-bootstrap

导入模块(就是这点困扰了我好久)

#书本的写法
from flask.ext.bootstrap import Bootstrap
app = Flask(__name__)
bootstrap = Bootstrap(app)
......
if __name__ == '__main__':
    bootstrap.run()

#我的写法,也可以说是新版的写法
from flask_bootstrap import Bootstrap
app = Flask(__name__)
Bootstrap(app)
......
if __name__ == '__main__':
    app.run()

这种写法的原因可以看我这篇博客

然后创建一个user.html文件放在templates文件夹下

{% extends "bootstrap/base.html" %}

{% block title %}Flasky{% endblock %}

{% block navbar %}
<div class="navbar navbar-inverse" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle"
                    data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/">Flasky</a>
        </div>
        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li><a href="/">Home</a> </li>
            </ul>
        </div>
    </div>
</div>
{% endblock %}

{% block content %}
    <div class="container">
        <div class="page-header">
            <h1>Hello, {{ name }}!</h1>
        </div>
    </div>
{% endblock %}

特别注意: 要把bootstrap这个文件夹放在templates下,不然调用不成功,如果你是用pip安装的flask-bootstrap,那么bootstrap应该在你的site-packages下,我的路径是xxxx\Lib\site-packages\flask_bootstrap\templates\bootstrap,找到后就把这个bootstrap文件夹复制到templates文件夹下就能使用了

运行
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值