美文网首页
Jinja2模板的控制结构

Jinja2模板的控制结构

作者: Vcns | 来源:发表于2017-04-26 20:04 被阅读36次

基本来自《flask web开发》。

1.判断结构 if...else

  • 模板中(user.html):
{% if name %}
        Hello, {{name}}!
{% else %}
        Hello, stranger!
{% endif %}
  • 视图函数中:
return render_template('user.html', name = value)

2.循环结构 for

  • 模板(comment.html):
{% for comment in comments %}
        <li>
            {{comment}}
        </li>
    {% endfor %}

*视图函数中:

@app.route('/comment/<number>')
def comment(number):
    comment_list = range(number)
    return render_template('comment.html', comments = comment_list)

3.宏 macro

它就是函数,只是写法有点不同

{% macro funciton(arg) %}
    pass
{%  endmacro %}

等价于:

def function(arg):
    pass
  • 它可以单独放在一个文件中,然后引用:
{% import 'macros.html' as func %}
  • 而模板的引入:
{% include 'base.html' %}

「这俩的差异主要在于,import是引入的宏,或者说是代码。」
「而include则是引入的文件。」

  • 模板继承
{% exdents '<path>' %}

<path>就是要继承的base.html的路径。本地一般用相对,网络用绝对。

相关文章

  • Flask Web 开发 Chapter3 - 模板

    Jinja2模板引擎 最简单的模版: 渲染模板: 变量与控制结构 Jinja2提供变量,用{{ name }}包裹...

  • Jinja2 模板用法

    1. 语法 在jinja2中,存在三种语法: 控制结构 {% %} 变量取值 {{ }} jinja2模板中使用 ...

  • 02-Flask之模板&模型

    一、模板 模板概念 Jinja2 模板语法 结构标签 block 静态资源的加载 结构标签 extends 结构标...

  • 02-Flask之模板&模型

    一、模板 模板概念 Jinja2 模板语法 结构标签 block 静态资源的加载 结构标签 extends 结构标...

  • 02-Flask之模板&模型

    一、模板 模板概念 Jinja2 模板语法 结构标签 block 静态资源的加载 结构标签 extends 结构标...

  • 02-Flask之模板&模型

    一、模板 模板概念 Jinja2 模板语法 结构标签 block 静态资源的加载 结构标签 extends 结构标...

  • Flask-day02

    一、模板 模板概念 Jinja2 模板语法 结构标签 block 静态资源的加载 结构标签 extends 结构标...

  • Jinja2模板的控制结构

    基本来自《flask web开发》。 1.判断结构 if...else 模板中(user.html): 视图函数中...

  • Ansible之Jinja2模板—5

    jinja2的基本概述jinja2模板与ansible的关系Ansible使用jinja2模板jinja2 模板A...

  • Jinja2的学习

    Jinja2存在三种语法:{%......%} 控制结构{{......}} ...

网友评论

      本文标题:Jinja2模板的控制结构

      本文链接:https://www.haomeiwen.com/subject/djjwzttx.html