Django 条件判断模板标签

1,条件判断模板标签

1. 2 {% if %} 标签

复制代码
{% if variable %}
    <!-- 如果 variable 为 True,则渲染此处内容 -->
{% endif %}

1. 3 {% if %} 与 {% else %} 组合

复制代码
{% if variable %}
    <!-- 如果 variable 为 True,则渲染此处内容 -->
{% else %}
    <!-- 否则渲染此处内容 -->
{% endif %}

1. 4 {% if %} 与 {% elif %} 组合

复制代码
{% if condition1 %}
    <!-- 如果 condition1 为 True,则渲染此处内容 -->
{% elif condition2 %}
    <!-- 如果 condition1 为 False 且 condition2 为 True,则渲染此处内容 -->
{% else %}
    <!-- 如果所有条件都不满足,则渲染此处内容 -->
{% endif %}

1. 5 {% if %},{% elif %} 与 {% else %} 组合

复制代码
{% if age >= 18 %}
  <p>你成年了</p>
{% elif age < 18 %}
  <p>你未成年</p>
{% else %}
  <p>一边玩去!</p>
{% endif %}

1. 6 {% if %} 与 {% for %} 结合使用

复制代码
{% if variable %}
    {% for item in variable %}
        <!-- 渲染循环中的每个 item -->
    {% endfor %}
{% endif %}

1. 7 逻辑运算符

复制代码
{% if condition1 and condition2 %}
    <!-- 如果 condition1 和 condition2 都为 True,则渲染此处内容 -->
{% endif %}

{% if not condition %}
    <!-- 如果 condition 为 False,则渲染此处内容 -->
{% endif %}

1. 8 过滤器作为条件判断

复制代码
{% if variable|default:"default_value" %}
    <!-- 如果 variable 有值,或者默认值不是空,则渲染此处内容 -->
{% endif %}

1. 9 模板变量的默认值

复制代码
{% if variable|default:"default_value" %}
    <!-- 渲染 variable 的值,如果 variable 为空,则使用 "default_value" -->
{% endif %}

示例:

2,添加html代码

Test/templates/4/if_demo.html

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

{% if age >= 18 %}
  <p>你成年了</p>
{% elif age < 18 %}
  <p>你未成年</p>
{% else %}
  <p>一边玩去!</p>
{% endif %}

</body>
</html>

3,添加视图代码

Test/app4/views.py

复制代码
from django.shortcuts import render

# Create your views here.
def var(request):
    name = '小6'

    # 列表对象
    lists = ['java', 'python', 'c', 'c++', 'js']

    # 字典对象
    dicts = {'姓名': '小强', '年龄':25, '性别':'男'}

    return render(request, '4/var.html', {'lists': lists, 'dicts': dicts, 'name':name})

def if_demo(request):
    age = 18

    return render(request, '4/if_demo.html', {'age':age})

4,添加路由地址

Test/app4/urls.py

复制代码
from django.urls import path
from . import views


urlpatterns = [
    path('var', views.var, name='var'),
    path('if_demo', views.if_demo, name='if_demo'),
]

5,访问页面

http://127.0.0.1:8000/app4/if_demo

相关推荐
高级程序源27 分钟前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
WeiXin_DZbishe39 分钟前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计
kimnoic1 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
snhna1 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
架构技术专栏1 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
码事漫谈2 小时前
你让AI干的活,它可能只干了十分之一——而你根本看不出来
后端
必须得开心呀2 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python
Wx-bishekaifayuan2 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
青少儿编程课堂2 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
计算机编程指导师3 小时前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·数据分析·spark·交通