Django 模版中的控制结构和过滤器
Django模板中的控制结构
Django模板中常见的控制结构有if/else、for循环、注释和include语句等。
- if/else语句
if/else语句可以在模板中实现条件判断。示例如下:
{% if username == "pidancode" %} <p>Welcome, {{ username}}!</p> {% else %} <p>Hi there, stranger!</p> {% endif %}
- for循环
for循环可以用来遍历列表、数组和字典等数据结构。示例如下:
{% for i in list %} <p>{{ i }}</p> {% endfor %}
- 注释
注释可以用来在模板中添加注释或忽略某些内容。示例如下:
{# 这是模板中的注释 #} {% comment %} 这也是注释 {% endcomment %}
- include语句
include语句可以将其他模板包含到当前模板中。示例如下:
{% include "header.html" %} {% include "footer.html" %}
Django模板中的过滤器
Django模板还提供了一些内置的过滤器,可以用于处理模板中的变量。常见的过滤器有safe、date、default等。
- safe过滤器
safe过滤器可以将模板变量标记为安全的HTML代码,确保它们不会被转义。示例如下:
{{ html_code|safe }}
- date过滤器
date过滤器可以将日期格式化为指定的格式。示例如下:
{{ post.created_date|date:"F j, Y" }}
- default过滤器
default过滤器可以设置默认值,当变量未定义或为空时使用。示例如下:
{{ variable|default:"no data" }}
代码演示
下面是一个示例代码,使用了if/else语句和default过滤器。
{% if username %} <p>Welcome, {{ username }}!</p> {% else %} <p>Welcome, guest!</p> {% endif %} {{ description|default:"No description provided." }}
如果username变量有值,则输出欢迎信息,否则输出默认信息“Welcome, guest!”;另外,如果description变量未定义或为空,则输出默认信息“No description provided.”。
相关文章