Flask模板

Posted icetouch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask模板 相关的知识,希望对你有一定的参考价值。

Jinja2模板支持宏。这里的宏类似于Python中的函数。

{% macro render_comments %}
    <li>{{ comment }}</li>
{% endmacro %}

<ul>
    {% for comment in comments %}
        {{ render_comments(comment) }}
    {% endfor %}
</ul>

宏可通过单独保存在文件中多次使用,在使用的时候导入:

{% import ‘macros.html‘ as macros %}
<ul>
    {% for comment in comments %}
        {{ macro.render_comment(comment) }}
    {% endfor %}
</ul>

需要多次使用的代码片段可以写入单独文件,再包含于所有模板中,避免重复。在模板中输入

{% include ‘comment.html‘ %}

 

模板的导入

模板分为多个块,不影响HTML的编译。使用{% block name %}和{% endblock %}来分割。

此处使用extends继承其他模板的基础内容。若后面没有任何内容则相当于复制导入的模板,若再次定义模板中的块则实现对原模版的更改。

若在原模版内容基础上添加新的内容,则用变量{{ super() }}代表原模板的内容。

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

{% block title %}
IceTouched
{% endblock %}

{% block navbar %}
    ... ...
{% endblock %}

{% block content %}
<div class="container">
{% block page_content %}
{{super()}}
Hello
{% endblock %}
</div> {% endblock %}

 

以上是关于Flask模板 的主要内容,如果未能解决你的问题,请参考以下文章

12_关于flask中的宏

flask中jinjia2模板引擎使用详解5

Flask教程11模板

VSCode自定义代码片段——.vue文件的模板

使用 Vue + Flask 搭建单页应用

VSCode自定义代码片段1——vue主模板