.. _tutorial-templates: Step 6: 模版 ===================== 现在我们应该开始编写模版。如果我们现在请求 URLs,我们将会得到一个 Flask 无法找到模版的异常。 模版使用 `Jinja2`_ 语言以及默认开启自动转义。这就意味着除非你使用 :class:`~flask.Markup` 标记或在模板中使用 ``|safe`` 过滤器, 否则 Jinja2 会确保特殊字符比如 ``<`` 或 ``>`` 被转义成等价的 XML 实体。 我们也使用模版继承使得在网站的所有页面中重用布局成为可能。 请把如下的模版放入 `templates` 文件夹: .. _Jinja2: http://jinja.pocoo.org/2/documentation/templates layout.html ----------- 这个模板包含 HTML 主体结构,标题和一个登录链接(或者当用户已登入则提供注销)。如果有闪现信息的话它也将显示 闪现信息。``{% block body %}`` 块能够被子模版中的同样名字( ``body`` )的块替代。 :class:`~flask.session` 字典在模版中同样可用的,你能用它检查用户是否登录。注意在 Jinja 中你可以访问不存在的对象/字典属性或成员, 如同下面的代码, 即便 ``'logged_in'`` 键不存在,仍然可以正常工作: .. sourcecode:: html+jinja
Error: {{ error }}{% endif %}
{% endblock %} 继续浏览 :ref:`tutorial-css` 。