python编程:Django常用的模板语言标签

简介: python编程:Django常用的模板语言标签

订阅专栏

1、模板继承


{% extends "base.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>
{% endfor %}
</ul>

4、翻转列表


{% for obj in list reversed %}.

5、元素是元组的列表循环


{% for x, y in points %}
    There is a point at {{ x }},{{ y }}
{% endfor %}

6、字典循环


{% for key, value in data.items %}
    {{ key }}: {{ value }}
{% endfor %}

7、循环参数

image.png

8、空序列判断

for … empty
<ul>
{% for athlete in athlete_list %}
    <li>{{ athlete.name }}</li>
{% empty %}
    <li>Sorry, no athletes in this list.</li>
{% endfor %}
</ul>

等价于

<ul>
  {% if athlete_list %}
    {% for athlete in athlete_list %}
      <li>{{ athlete.name }}</li>
    {% endfor %}
  {% else %}
    <li>Sorry, no athletes in this list.</li>
  {% endif %}
</ul>

9、条件判断

if
{% if athlete_list %}
    Number of athletes: {{ athlete_list|length }}
{% elif athlete_in_locker_room_list %}
    Athletes should be out of the locker room soon!
{% else %}
    No athletes.
{% endif %}

10、布尔操作

and, or or not


{% if athlete_list and coach_list or cheerleader_list %}

11、条件判断

==, !=, <, >, <=, >=, in, not in, is, and is not
{% if somevar == "x" %}
  This appears if variable somevar equals the string "x"
{% endif %}

12、模板包含

{% include "foo/bar.html" %}

13、时间


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

14、模板标签

image.png


15、函数


{{ value|add:"2" }}  # 加法
{{ value|capfirst }}  # 首字母大写
{{ value|title }}  # 句子单词首字母大写
{{ value|center:"15" }}  # 文字居中,剩余填充
{{ value|ljust:"10" }}  # 文字左对齐,剩余填充
{{ value|rjust:"10" }}  # 文字右对齐,剩余填充
{{ value|cut:" " }}  # 移除空白
{{ value|default:"nothing" }}  # 空值默认
{{ value|default_if_none:"nothing" }}  # None值默认
{{ value|dictsort:"name" }}  # 字典排序
{{ value|filesizeformat }}  # 文件大小格式化
{{ value|first }}  # 序列的第一个值
{{ value|last }}  # 序列最后一个值
{{ value|floatformat:3 }}  # 浮点值精度
{{ value|join:" // " }}  # 序列拼接
{{ value|make_list }}  # 字符串转列表
{{ value|length }}  # 序列长度
{{ value|length_is:"4" }}  # 长度判断
{{ value|lower }}  # 字符串转小写
{{ value|upper }}  # 字符串转小写
{{ value|random }}  # 序列中随机取值
{{ some_list|slice:":2" }}  # 切片
{{ value|striptags }}  # 去除标签
{{ value|truncatechars:9 }}  # 控制输出字符长度,超出省略号
{{ value|truncatewords:2 }}  # 控制输出单词长度,超出省略号
{{ value|wordcount }}  # 统计字数

参考:

Built-in template tags and filters

时间格式化参考:

https://docs.djangoproject.com/zh-hans/2.0/ref/templates/builtins/#date

相关文章
|
9天前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
72 4
|
3天前
|
前端开发 JavaScript 数据安全/隐私保护
计算机Python项目|django学生成绩管理系统
计算机Python项目|django学生成绩管理系统
|
5天前
|
开发框架 数据库 开发者
Web开发新境界:用Python玩转Django和Flask!
【6月更文挑战第12天】Python的Web开发框架Django和Flask各有千秋。Django是全能型框架,适合快速开发大型应用,提供ORM、模板引擎、URL路由和后台管理等全面功能。Flask则轻量级且灵活,适用于小型到中型应用,以其简单易用、高度可扩展和灵活路由著称。两者结合使用,能应对各种Web开发需求。
|
2天前
|
索引 Python 安全
【Python内功心法】:深挖内置函数,释放语言潜能
【Python内功心法】:深挖内置函数,释放语言潜能
|
3天前
|
Go Python
go语言调用python脚本
go语言调用python脚本
7 0
|
3天前
|
小程序 前端开发 JavaScript
计算机Python项目|django傣族节日及民间故事推广小程序
计算机Python项目|django傣族节日及民间故事推广小程序
|
4天前
|
Python
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记2)
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记2)
|
4天前
|
Python
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记)
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记)
|
6天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用合集之基于django应用模板创建的FC,如何配置数据库
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
9天前
|
机器学习/深度学习 Java 开发者
Python vs. Java:语言之争的终结
【6月更文挑战第8天】Python与Java,两种影响力巨大的编程语言,各有千秋。Python以简洁语法和强大库支持在数据科学、机器学习领域大放异彩,适合快速原型设计;而Java以其稳定性能、跨平台兼容性在大型系统、企业应用中占据一席之地。语言之争实为互补,开发者应根据项目需求选择合适工具,两者和谐共存,共同推动编程技术进步。