python endif_在Django模板中的 if else endif

python endif_在Django模板中的 if else endifif/else{%if%}标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统会显示在{%if%}和{%endif%}之间的任何内容,例如:{%iftoday_is_weekend%}Welcometotheweekend!{%endif%}{%else%}标签是可选的:{%iftoday_is_weeke…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

if/else

{% if %} 标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统会显示在 {% if %} 和 {% endif %} 之间的任何内容,例如:

{% if today_is_weekend %}

Welcome to the weekend!

{% endif %}

{% else %} 标签是可选的:

{% if today_is_weekend %}

Welcome to the weekend!

{% else %}

Get back to work.

{% endif %}

Python 的“真值”

在Python和Django模板系统中,以下这些对象相当于布尔值的False

空列表([] )

空元组(() )

空字典({} )

空字符串(” )

零值(0 )

特殊对象None

对象False(很明显)

提示:你也可以在自定义的对象里定义他们的布尔值属性(这个是python的高级用法)。

除以上几点以外的所有东西都视为“ True“

5

{% if %} 标签接受 and , or 或者 not 关键字来对多个变量做判断 ,或者对变量取反( not ),例如: 例如:

6

{% if athlete_list and coach_list %}

Both athletes and coaches are available.

{% endif %}

{% if not athlete_list %}

There are no athletes.

{% endif %}

{% if athlete_list or coach_list %}

There are some athletes or some coaches.

{% endif %}

{% if not athlete_list or coach_list %}

There are no athletes or there are some coaches.

{% endif %}

{% if athlete_list and not coach_list %}

There are some athletes and absolutely no coaches.

{% endif %}

{% if %} 标签不允许在同一个标签中同时使用 and 和 or ,因为逻辑上可能模糊的,例如,如下示例是错误的: 比如这样的代码是不合法的:

{% if athlete_list and coach_list or cheerleader_list %}

系统不支持用圆括号来组合比较操作。 如果你确实需要用到圆括号来组合表达你的逻辑式,考虑将它移到模板之外处理,然后以模板变量的形式传入结果吧。 或者,仅仅用嵌套的{% if %}标签替换吧,就像这样:

4

{% if athlete_list %}

{% if coach_list or cheerleader_list %}

We have athletes, and either coaches or cheerleaders!

{% endif %}

{% endif %}

多次使用同一个逻辑操作符是没有问题的,但是我们不能把不同的操作符组合起来。 例如,这是合法的:

6

{% if athlete_list or coach_list or parent_list or teacher_list %}

并没有 {% elif %} 标签, 请使用嵌套的“ {% if %}“ 标签来达成同样的效果:

6

{% if athlete_list %}

Here are the athletes: {
{ athlete_list }}.

{% else %}

No athletes are available.

{% if coach_list %}

Here are the coaches: {
{ coach_list }}.

{% endif %}

{% endif %}

一定要用 {% endif %} 关闭每一个 {% if %} 标签。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213740.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • win7(64位)+IE8+QC9.0

    win7(64位)+IE8+QC9.0

  • 一些建议方案猿简历

    一些建议方案猿简历

    2021年12月30日
  • 行为识别综述

    行为识别综述定义背景难点最新论文最新算法数据集1定义行为识别:行为识别(ActionRecognition)任务是从视频剪辑(2D帧序列)中识别不同的动作,其中动作可以在视频的整个持续时间内执行或不执行。行为识别似乎是图像分类任务到多个帧的扩展,然后聚合来自每帧的预测。尽管图像分类取得了很大的成功,但是视频分类和表示学习依然进展缓慢。2背景2.1方法2.1.1传统方法提取视频区域的局部高维视觉特征,然后组合成固定大小的视频级描述,最后利用分类器(SVM,RF等)进行最终预测2.

  • 文件上传的三种方式-Java「建议收藏」

    文件上传的三种方式-Java「建议收藏」前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对Http协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。一.Http协议原理简介   HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,

  • 电容与部分电容_接地电容不能太大

    电容与部分电容_接地电容不能太大转载自:http://emakerzone.com/article/229关键字:薄膜电容,电解电容,陶瓷电容,铝电解电容,钽电容,安规电容之前的文章中,介绍了电感的一些知识。本文将谈谈电容,介绍电容的知识和如何选型。一、电容的基本原理电容,和电感、电阻一起,是电子学三大基本无源器件;电容的功能就是以电场能的形式储存电能量。以平行板电容器为例,简单介绍下电容的基本原理如…

  • futex机制介绍「建议收藏」

    futex机制介绍「建议收藏」1、概念futex:asortoffast,user-spacemutualexclusionprimitive. Futex是一种用户态和内核态混合的同步机制。首先,同步的进程间通过mmap共享一段内存,futex变量就位于这段共享的内存中且操作是原子的,当进程尝试进入互斥区或者退出互斥区的时候,先去查看共享内存中的futex变量,如果没有竞争发生,则只修改futex,而不用…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号