python flask-Bootstrap

1. 如何在flask中使用Bootstrap?

要想在程序中集成Bootstrap,显然要对模板做所有必要的改动。不过,更简单的方法是使用一个名为Flask-Bootstrap 的Flask 扩展,简化集成的过程。Flask-Bootstrap 使用pip安装:

pip install flask_bootstrap

2. Flask 扩展一般都在创建程序实例时初始化,下面是Flask_Bootstrap的初始化方法:


from flask_bootstrap import  Bootstrap

app = Flask(__name__)
bootstrap = Bootstrap(app)

初始化Flask-Bootstrap 之后,就可以在程序中使用一个包含所有Bootstrap 文件的基模板。这个模板利用Jinja2 的模板继承机制,让程序扩展一个具有基本页面结构的基模板,其中就有用来引入Bootstrap 的元素。

3. 如何引用bootatrap的基模板?

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

{%block title %}Flask{% endblock %}


这两个块分别表示页面中的导航条和主体内容。
在这个模板中,navbar 块使用Bootstrap 组件定义了一个简单的导航条。
content 块中有个<div> 容器,其中包含一个页面头部。

4. Flask-Bootstrap定义的其他可用块:

参考链接: https://pythonhosted.org/Flask-Bootstrap/basic-usage.html#available-blocks
块名   说明
doc 整个html文档
html_attribs html标签属性
html   html标签中的内容
head head标签中的内容
title title标签中的内容
metas 一组meta标签
styles 层叠样式表定义
body_attribs body标签的属性
body body标签中的内容
navbar 用户定义的导航条
content 用户定义的页面内容
scripts 文档底部的JavaScript 声明

5. 如何继承原有内容:

上表中的很多块都是Flask-Bootstrap 自用的,如果直接重定义可能会导致一些问题。例如,Bootstrap 所需的文件在styles 和scripts 块中声明。如果程序需要向已经有内容的块中添加新内容,必须使用Jinja2 提供的super() 函数。例如,如果要在衍生模板中添加新的JavaScript 文件,需要这么定义scripts 块:

{% block scripts %}
{{ super() }}
<script type="text/javascript" src="my-script.js"></script>
{% endblock %}

猜你喜欢

转载自blog.csdn.net/zcx1203/article/details/83622419