flask
Flask 依赖
Flask有两个主要依赖:
- Werkzeug
- jinja2
路由、调试和 Web 服务器网关接口(Web Server Gateway Interface,WSGI)子系统由Werkzeug(http://werkzeug.pocoo.org/)提供
模板系统由Jinja2
(http://jinja.pocoo.org/)提供。
Werkzeug
和Jinjia2
都是由 Flask 的核心开发者开发而成。
Flask 个人总结
对 Flask 简单总结下,用作备忘。
在bootstrap
的文章中说了,bootstrap
对于没 UI 设计师的情况下,就比较好用了。所以在 Flask 中也使用 bootstrap
,正好也有
名为Flask-Bootstrap
的Flask扩展
这样其实,就是把 bootstrap
和 jinja
结合在一起了。jinja
提供模板功能、bootstrap
提供样式和响应。
具体就是在项目的 template
目录下,使用 jinja
的继承功能,extends "bootstrap/base.html"
, base.html代码如下:
{% block doc -%}
<!DOCTYPE html>
<html{% block html_attribs %}{% endblock html_attribs %}>
{%- block html %}
<head>
{%- block head %}
<title>{% block title %}{{title|default}}{% endblock title %}</title>
{%- block metas %}
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{%- endblock metas %}
{%- block styles %}
<!-- Bootstrap -->
<link href="{{bootstrap_find_resource('css/bootstrap.css', cdn='bootstrap')}}" rel="stylesheet">
{%- endblock styles %}
{%- endblock head %}
</head>
<body{% block body_attribs %}{% endblock body_attribs %}>
{% block body -%}
{% block navbar %}
{%- endblock navbar %}
{% block content -%}
{%- endblock content %}
{% block scripts %}
<script src="{{bootstrap_find_resource('jquery.js', cdn='jquery')}}"></script>
<script src="{{bootstrap_find_resource('js/bootstrap.js', cdn='bootstrap')}}"></script>
{%- endblock scripts %}
{%- endblock body %}
</body>
{%- endblock html %}
</html>
{% endblock doc -%}
可以看出就是jinja
加 bootstrap
。理解了flask
、jinja
、bootstrap
之间的关系,再在其基础上进行开发就得心应手了。