首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >相当于使用..。否则作为Django模板语言中的表达式

相当于使用..。否则作为Django模板语言中的表达式
EN

Stack Overflow用户
提问于 2018-02-28 17:01:57
回答 2查看 6.8K关注 0票数 6

在Python中,有两种使用ifelse的方法:或者用于布尔流控制,在这种情况下,它与冒号和缩进一起使用,或者像https://www.pythoncentral.io/one-line-if-statement-in-python-ternary-conditional-operator/中描述的那样作为单行上的表达式。

据我所知,Django模板语言的{% if %} . {% else %} . {% endif %}标记等同于前者。但是,我想知道是否可以以某种方式实现后者来重构下面的代码:

代码语言:javascript
运行
AI代码解释
复制
<form action="" method="post">{% csrf_token %}
    {% for field in form %}
        {% if field.name == "checkin_type" %}
            <div class="auto-submit">
                {{ field.errors }}
                {{ field.label_tag }}
                {{ field }}
            </div>
        {% else %}
            <div>
                {{ field.errors }}
                {{ field.label_tag }}
                {{ field }}
            </div>
        {% endif %}
    {% endfor %}
    <input type="submit" value="Send message" />
</form>

在这里,我遍历表单的字段,并将一个特定的类"auto-submit"添加到特定字段("checkin_type")的封闭<div>元素中。我想按照以下‘伪代码’的思路重构这个代码:

代码语言:javascript
运行
AI代码解释
复制
<form action="" method="post">{% csrf_token %}
    {% for field in form %}
        <div class="{% if field.name=='checkin_type'%}auto-submit{% else %}{% endif %}">
            {{ field.errors }}
            {{ field.label_tag }}
            {{ field }}
        </div>
    {% endfor %}
    <input type="submit" value="Send message" />
</form>

换句话说,我想通过使用if.else语句来减少代码的重复,只在class的定义中使用一种三元操作符。这在DTL中有可能吗?

顺便说一句,如果我尝试用上面的代码加载模板,就会得到一个TemplateSyntaxError

无法解析余数:‘=’checkin_type‘’“来自‘Could d.name=’checkin_type‘”

也许我只需要做正确的引语转义?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-28 18:07:26

它应该是==前后的空格,不需要空的{% else %}块:

代码语言:javascript
运行
AI代码解释
复制
<div class="{% if field.name == 'checkin_type'%}auto-submit{% endif %}">
票数 12
EN

Stack Overflow用户

发布于 2020-09-13 17:10:12

Django有内置标记筛选器yesno

您可以这样使用它:

代码语言:javascript
运行
AI代码解释
复制
<div class="{{ field.name|yesno:"checkin_type,''" }}">

https://docs.djangoproject.com/en/4.0/ref/templates/builtins/#yesno

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49041089

复制
相关文章
java集合框架源码解析_java源代码怎么用
我们知道,java 中容器分为 Map 集合和 Collection 集合,其中 Collection 中的又分为 Queue,List,Set 三大子接口。
全栈程序员站长
2022/09/23
1.4K0
java集合框架源码解析_java源代码怎么用
java课程设计(简易计算器)源代码 JAVA 源代码有解析 免费分享[通俗易懂]
这是我挺久以前课程设计java写的计算器,只能实现基本的功能,我现在分享出来希望能帮助到别人。写得其实挺一般的,见谅见谅。有课程设计任务的学弟学妹也是写计算器的可以看看参考参考。源代码里我写有挺多解析的,能帮助理解。
全栈程序员站长
2022/07/23
3.2K1
java课程设计(简易计算器)源代码 JAVA 源代码有解析 免费分享[通俗易懂]
SIFT matlab源代码解析[通俗易懂]
sift是目前常用的local feature的描述子。sift特征匹配算法可以处理两幅图像之间发生一些平移、旋转、仿射等匹配问题。因为早前自己要做一个图像拼接的问题,所以用到了sift。写这篇blog,是因为自己准备向CV进军,开始着手写blog来积累知识,这也是我第一篇blog,虽然这篇blog很简陋,纯属向sift致敬,但也方便一些初学者使用吧。以后也会不定期对自己的一些在CV的见解进行发表,希望能通过这个和大家相互讨论。如果您想对其原理有个透彻的理解,可以参考下面这篇blog,博主写的非常详尽 —— [ sift算法详解 ]
全栈程序员站长
2022/07/04
4600
SIFT matlab源代码解析[通俗易懂]
java helloworld源代码_Java Hello World源代码剖析
public static void main(String[] args) {
全栈程序员站长
2022/09/01
2.7K0
java helloworld源代码_Java Hello World源代码notepad++版
1、 在E:\CodeDemo\Java文件夹下(你也可以选择自己的文件夹)新建一个txt文本文件。
全栈程序员站长
2022/09/01
1.1K0
dubbo源代码解析之-集群容错
Failover Cluster:失败自动切换,当出现失败,重试其它服务器,通常用于读操作(推荐使用)
yiduwangkai
2019/09/17
4600
dubbo源代码解析之-集群容错
typecho源代码解析4 - 业务逻辑
由路由表中的正则表达式我们能看出首页的URL为https://blog.phpgao.com/或http://www.phpgao.com,并且不接受任何参数。
老高的技术博客
2022/12/28
2610
typecho源代码解析4 - 业务逻辑
java语言helloworld源代码[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140211.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/01
1.4K0
java获取网页源代码
public static String getHtmlContent(URL url, String encode) { StringBuffer contentBuffer = new StringBuffer(); int responseCode = -1; HttpURLConnection con = null; try { con = (HttpURLConnection) url.openConnection(); con.setRequestPro
似水的流年
2018/01/18
2K0
java获取网页源代码
public static String getHtmlContent(URL url, String encode) {    StringBuffer contentBuffer = new StringBuffer();    int responseCode = -1;    HttpURLConnection con = null;    try {     con = (HttpURLConnection) url.openConnection();     con.setR
似水的流年
2018/01/18
2K0
java获取网页源代码
public static String getHtmlContent(URL url, String encode) { StringBuffer contentBuffer = new StringBuffer(); int responseCode = -1; HttpURLConnection con = null; try { con = (HttpURLConnection) url.openConnection(); con.setRequestPro
似水的流年
2019/12/10
1.9K0
java获取网页源代码
public static String getHtmlContent(URL url, String encode) {    StringBuffer contentBuffer = new StringBuffer();
似水的流年
2019/12/11
2.2K0
java获取网页源代码
public static String getHtmlContent(URL url, String encode) {    StringBuffer contentBuffer = new StringBuffer();
似水的流年
2018/01/12
1.7K0
开源Registry项目Harbor源代码结构解析
容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,在企业私有环境内部署的Registry服务是非常必要的。Harbor(https://github.com/vmware/harbor)是由VMware中国研发团队为企业用户设计的Registry Server开源项目,包括了权限管理(RBAC)、图形管理界面、LDAP/AD集成、审计、自我注册、HA等企业必需的功能,同时针对中国用户的特点,原生支持中文,并计划实现镜像复制(roadmap)等功能。
Henry Zhang
2019/04/12
1.3K0
开源Registry项目Harbor源代码结构解析
长安链ChainMaker TBFT共识源代码解析
长安链ChainMaker(以下简称“ChainMaker”)目前实现了很多种共识算法,比如SOLO、RAFT、TBFT、HOTSTUFF等,TBFT共识算法是ChainMaker实际应用中常见的共识算法。TBFT共识算法是一种拜占庭容错算法,可以在拜占庭节点数小于总数1/3的情况下,保证系统的安全运行,本文主要对ChainMaker TBFT共识源代码进行解析。
bengbengsu
2022/04/26
9500
长安链ChainMaker TBFT共识源代码解析
Java 源代码和 C 源代码的运行区别 原
Java 源代码需要进行编译成字节码后在 Java 虚拟机上运行,这样 Java 程序能够保持独立性和跨平台功特性。
HoneyMoose
2019/01/30
1.7K0
Java 源代码和 C 源代码的运行区别
                                                                            原
【程序源代码】java 开发框架
Java ava EE(J2EE)快速开发框架,基于主流技术(Springboot、Spring MVC、MyBatis、Bootstrap、ACE),是XJJ框架的springboot版本。系统的代码生动生成、极简权限框架、通用service和dao设计、后台页面设计及封装的xjj_bootstrap-tab框架。
程序源代码
2020/04/01
1.1K0
【程序源代码】ChatGPT Java Api
注意:一个Chatbot实例为一个Session,会持有对话上下文,可以回复:继续 让机器人接着说。如果需要对话互相隔离,new 多个Chatbot实例即可。
程序源代码
2023/07/15
4110
深度学习之 TensorFlow(三):TensorFlow 源代码解析
分析一下 TensorFlow 的文件结构。这里的源代码版本是 TensorFlow1.7.0 。 目录结构如下: 其中的核心目录是 tensorflow 目录,最重要的源代码保存在这里,目录结构如下
希希里之海
2018/05/16
9600
【程序源代码】部标JT808协议解析
程序源代码
2023/07/19
7620
【程序源代码】部标JT808协议解析

相似问题

Java源代码解析

11

Java :解析java源代码,提取方法

70

如何解析Java源代码?

10

Java源代码解析器

45

用Scala解析Java源代码

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档