美文网首页python小项目练习
Flask系列教程(7)——Jinja2模板概述

Flask系列教程(7)——Jinja2模板概述

作者: 编程小蝉 | 来源:发表于2017-07-05 18:11 被阅读679次

Jinja2模版概述

概要:

先看一个简单例子:

1\. <html lang="en">
2\. <head>
3\. <title>My Webpage</title>
4\. </head>
5\. <body>
6\. <ul id="navigation">
7\. {% for item in navigation %}
8\. <li><a href="{{ item.href }}">{{ item.caption }}</a></li>
9\. {% endfor %}
10\. </ul>
11.
12\. {{ a_variable }}
13\. {{ user.name }}
14\. {{ user['name'] }}
15.
16\. {# a comment #}
17\. </body>
18.</html>

以上示例有需要进行解释:

  • 第12~14行的{{ ... }}:用来装载一个变量,模板渲染的时候,会把这个变量代表的值替换掉。并且可以间接访问一个变量的属性或者一个字典的key。关于点.号访问和[]中括号访问,没有任何区别,都可以访问属性和字典的值。
  • 第7~9行的{% ... %}:用来装载一个控制语句,以上装载的是for循环,以后只要是要用到控制语句的,就用{% ... %}
  • 第14行的{# ... #}:用来装载一个注释,模板渲染的时候会忽视这中间的值。

属性访问规则:

  1. 比如在模板中有一个变量这样使用:foo.bar,那么在Jinja2中是这样进行访问的:

    • 先去查找foobar这个属性,也即通过getattr(foo,'bar')
    • 如果没有,就去通过foo.__getitem__('bar')的方式进行查找。
    • 如果以上两种方式都没有找到,返回一个undefined
  2. 在模板中有一个变量这样使用:foo['bar'],那么在Jinja2中是这样进行访问:

    • 通过foo.__getitem__('bar')的方式进行查找。
    • 如果没有,就通过getattr(foo,'bar')的方式进行查找。
    • 如果以上没有找到,则返回一个undefined

如果想深入学习Flask,可以观看这套免费Flask教学视频:Flask入门到项目实战

</article>

版权声明: https://blog.csdn.net/huangyong1314/article/details/74650206

相关文章

  • Flask系列教程(7)——Jinja2模板概述

    Jinja2模版概述 概要: 先看一个简单例子: 以上示例有需要进行解释: 第12~14行的{{ ... }}:用...

  • templates(模板)

    jinja2 Flask中使用jinja2模板引擎jinja2是由Flask作者开发,模仿Django的模板引擎 ...

  • Templates 2018-08-28

    1. jinja2 Flask中使用jinja2模板引擎 jinja2是由Flask作者开发,模仿Django的模...

  • Flask模板引擎:Jinja2常用语法整理

    摘要:Flask,Jinja2,HTML Flask模板引擎Jinja2简述 模板实质上是一个静态的包含HTML语...

  • Ansible之Jinja2模板—5

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

  • Flask jinja2模板

    Python Flask JIJIA2模板渲染 A.Flask渲染Jinja2模板和模板传参 如何渲染模板:Fla...

  • Flask框架学习之jinja2模板

    flask渲染jinja2模板和传参: 1、如何渲染模板: 模板放在“template”文件夹下。 从flask导...

  • Jinja2 变量 过滤器 测试器

    循环变量 上下文变量 模板全局变量 Jinja2 模板全局函数 Flask 模板全局函数 Jinja2 常用过滤器...

  • Flask - 07 模板

    Flask使用Jinja2 模板,并通过render_template()函数返回模板给客户端 Flask会在te...

  • Flask

    Flask 0.Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug ...

网友评论

    本文标题:Flask系列教程(7)——Jinja2模板概述

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