jinjia2语言

金家兔

网站: https://jinja.palletsprojects.com/en/2.11.x/

#Jinja is Beautiful

{% extends "layout.html" %}
{% block body %}
  <ul>
  {% for user in users %}
    <li><a href="{{ user.url }}">{{ user.username }}</a></li>
  {% endfor %}
  </ul>
{% endblock %}

jinja2 语言使用字面量,有下面形式:

字符串:使用单引号或双引号
数字:整数,浮点数
列表:[item1, item2, ...]
元组:(item1, item2, ...)
字典:{key1:value1, key2:value2, ...}
布尔型:true/false
算术运算:+, -, *, /, //, %, **
比较操作:==, !=, >, >=, <, <=
逻辑运算:and,or,not
流表达式:For,If,When

字面量:

  • 表达式最简单的形式就是字面量。字面量表示诸如字符串和数值的 Python 对象。如“Hello World”
  • 双引号或单引号中间的一切都是字符串。无论何时你需要在模板中使用一个字符串(比如函数调用、过滤器或只是包含或继承一个模板的参数),如42,42.23
    数值可以为整数和浮点数。
  • 如果有小数点,则为浮点数,否则为整数。在 Python 里, 42 和 42.0 是不一样的

算术运算:

Jinja 允许用计算值。支持下面的运算符

  • +:把两个对象加到一起。通常对象是素质,但是如果两者是字符串或列表,你可以用这 种方式来衔接它们。无论如何这不是首选的连接字符串的方式!连接字符串见 ~ 运算符。 {{ 1 + 1 }} 等于 2
  • -:用第一个数减去第二个数。 {{ 3 - 2 }} 等于 1
  • /:对两个数做除法。返回值会是一个浮点数。 {{ 1 / 2 }} 等于 {{ 0.5 }}
  • //:对两个数做除法,返回整数商。 {{ 20 // 7 }} 等于 2
  • %:计算整数除法的余数。 {{ 11 % 7 }} 等于 4
  • *:用右边的数乘左边的操作数。 {{ 2 * 2 }} 会返回 4 。也可以用于重 复一个字符串多次。 {{ ‘=’ * 80 }}会打印 80 个等号的横条\
  • :取左操作数的右操作数次幂。 {{ 23 }} 会返回 8

比较操作符

  • ==: 比较两个对象是否相等
  • !=: 比较两个对象是否不等
  • : 如果左边大于右边,返回 true

  • =: 如果左边大于等于右边,返回 true

  • <: 如果左边小于右边,返回 true
  • <=: 如果左边小于等于右边,返回 true

逻辑运算符

  • 对于 if 语句,在 for 过滤或 if 表达式中,它可以用于联合多个表达式
  • and 如果左操作数和右操作数同为真,返回 true
  • or 如果左操作数和右操作数有一个为真,返回 true
  • not 对一个表达式取反
  • (expr)表达式组
  • true / false true 永远是 true ,而 false 始终是 false

猜你喜欢

转载自www.cnblogs.com/bpzblog/p/13164073.html