专为flask开发的扩展都暴露在flask.ext下
- Flask-Script
Flask-Script为Flask程序添加了一个命令行解释器,它自带了一些常用选项,还支持自定义命令
# 安装
pip install flask-script
# 脚本
from flask.ext.script import Manager, Server # python3中使用 from flask_script import Manager
app = Flask(__name__)
manager = Manager(app)
manager.add_command("runserver", Server(use_debugger=True)) # 开启debug
..........
if __name__ == '__main__':
Manager.run()
# 使用
python hello.py runserver --host 0.0.0.0
- flask-bootstrap
bootstrap参考文档 http://v3.bootcss.com/
# 安装
pip install flask-bootstrap
# 脚本
from flask.ext.bootstrap import Bootstrap
app = Flask(__name__)
bootstrap = Bootstrap(app)
# 使用
{% 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!</h1>
</div>
</div>
{% endblock %}
<!--
块 名 说 明
doc 整个 HTML 文档
html_attribs <html> 标签的属性
html <html> 标签中的内容
head <head> 标签中的内容
title <title> 标签中的内容
metas 一组 <meta> 标签
styles 层叠样式表定义
body_attribs <body> 标签的属性
body <body> 标签中的内容
navbar 用户定义的导航条
content 用户定义的页面内容
scripts 文档底部的 JavaScript 声明
表中的很多块都是 Flask-Bootstrap 自用的,如果直接重定义可能会导致一些问题。例
如,Bootstrap 所需的文件在 styles 和 scripts 块中声明。如果程序需要向已经有内容的块
中添加新内容,必须使用 Jinja2 提供的 super() 函数。例如,如果要在衍生模板中添加新
的 JavaScript 文件,需要这么定义 scripts 块:
{%