django基础 第四章 模板标签

第四章 模板标签

1 模板标签定义

标签是在渲染的过程中提供的任意的逻辑(控制流程或者功能函数)

标签语法: 由 {% 逻辑 %} 来定义的,例如:{%tag%} {%endtag%} 或者 {% load static %}

2 常用标签

(1) 模板继承即包含

{% extends "base.html" %}    # 模板继承
{% include "foo/bar.html" %} # 模板包含

(2) 判断

{% firstof var1 var2 var3 %}   

等价于

{% if var1 %}
    {{ var1 }}
{% elif var2 %}
    {{ var2 }}
{% elif var3 %}
    {{ var3 }}
{% endif %}

(3) 遍历

<ul>
{% for athlete in athlete_list %}   #遍历列表
    <li>{{ athlete.name }}</li>
{% empty %}   # 没有数据输出下句
    <li>sorry, no athletes in this list.</li>
{% endfor %}
</ul>

(4) 翻转列表

{% for obj in list reversed %}

(5) 循环参数

forloop.counter 顺序迭代序号 (1-开始)
forloop.counter0 顺序迭代序号 (0-开始)
forloop.revcounter 逆序迭代序号 (1-开始)
forloop.revcounter0 逆序迭代序号 (0-开始)
forloop.first 循环第一次经过
forloop.last 循环最后一次经过
forloop.parentloop 嵌套循环,父循环

(6) 条件判断

==, !=, <, >, <=, >=, in, not in, is, and is not

{% if somevar == "x" %}
  This appears if variable somevar equals the string "x"
{% endif %}

(7) 日期时间

{{ value|date:"D d M Y" }}  # 日期格式化
{{ value|time:"H:i" }}  # 时间格式化
{{datetime |date:"Y-m-d H:i:s"}}   # 年-月-日 时:分:秒

(1) 自定义简单标签

django.template.Library.simple_tag()

(1) 自定义简单标签

django.template.Library.simple_tag()


原文地址:https://www.cnblogs.com/xjl-dwy/p/10431422.html