如何在 Odoo 模板语言中使用 if

2024-03-17

我正在尝试使用与 Django 中相同的功能:

<div class="item {% if condition == True %}active{% endif %}">

在 Odoo 我有:

<t t-foreach="list" t-as="l">
    <a t-attf-href="/downloads/{{l.id}}" class="list-group-item"><t t-esc="l.name"/></a>
</t>

如果“c.id = cat_id”,我需要附加类“active”

Odoo 中是如何完成的?

我在用着:

<t t-foreach="categories" t-as="c">
    <t t-if="c.id == category_id">
    <a t-attf-href="/downloads/{{c.id}}" class="list-group-item active"><t t-esc="c.name"/></a>
    </t>
    <t t-if="c.id != category_id">
    <a t-attf-href="/downloads/{{c.id}}" class="list-group-item"><t t-esc="c.name"/></a>
    </t>
</t>

但正在寻找一种更Pythonic的方式


我认为 QWeb 模板根​​本就不是 Pythonic 的;)

如果您愿意,您可以这样做:

<a t-attf-href="/downloads/{{c.id}}" t-attf-class="list-group-item {{ 'active' if c.id == category_id else '' }}">
    <t t-esc="c.name"/>
</a>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Odoo 模板语言中使用 if 的相关文章

随机推荐

  • Laravel 每个用户一次会话

    我正在尝试找出如何只允许每个用户一个会话 因此 如果有人在已经登录其用户帐户的情况下尝试登录 第一个会话将被销毁 并将被注销以仅允许当前会话 我正在关注这个 如何在 Laravel 中保持每个用户的单个会话 https anupamsaha
  • 如何在应用程序退出前执行代码 flutter

    我想检测用户何时退出我的应用程序并执行一些代码 但我不知道如何执行此操作 我尝试使用这个包 https pub dev packages flutter lifecycle state https pub dev packages flut
  • Mac Catalyst 应用程序:如何在不终止应用程序的情况下关闭窗口?

    我正在使用 Mac Catalyst 开发一个应用程序 当用户关闭 Mac 版本上的窗口时 应用程序将终止 可以通过使用以下方法来改变 Cocoa 中的这种行为 applicationShouldTerminateAfterLastWind
  • 打开一对“int”

    一些背景 我正在解析一个会计分类账 其中有account1 and account2 as int类型 每个都是 0 99999 范围内的数字 我有很多组合需要考虑 理想情况下我想使用类似的东西 switch account1 accoun
  • Rails:验证两列(一起)的唯一性

    我有一个Release模型与medium and country列 等等 不应该有releases共享相同的medium country组合 我该如何将其写为 Rails 验证 您可以使用独特性 http guides rubyonrail
  • if 语句中初始化的变量的范围是什么?

    这可能是一个简单的范围界定问题 Python 文件 模块 中的以下代码让我有点困惑 if name main x 1 print x 在我使用过的其他语言中 这段代码会抛出异常 因为x变量是局部的if语句并且不应该存在于它之外 但是这段代码
  • 仅通过 Express 框架对某些 URL 使用 HTTP 基本身份验证

    我有一个使用 Express 框架设计的 Node js 应用程序http 认证 http http auth info模块 如下 var auth require http auth var express require express
  • WPF DataBinding:取消属性更改 - 组合框未对齐

    我有一个带有组合框和文本框的 WPF 表单 两者都数据绑定到对象的属性 更改组合框或文本框输入会更新对象的属性 并且数据绑定会启动并更新 UI 问题是 我实现了一种取消更改的方法 该方法有效 但搞砸了 UI 更新 如果我从组合框进行更改并取
  • C# 中的 Google 地理编码 Json 解析问题

    我的代码运行良好 但我似乎无法到达树的更深部分 我正在尝试拉动经度和纬度 下面的代码将 status 没有问题拉为 OK 在响应的最后 geometry gt location gt lat 和 lng 的语法是什么 这是我的代码 stri
  • WinRT中ListView的项目插入动画

    最近 我开始构建自己的大型 Windows 8 应用商店应用程序 在 UI 方面 我开始复制一些好的 UI 我遇到了一个非常有趣的动画 即在标准邮件应用程序的列表视图中插入新元素 当您单击链时 它会展开并显示链中的所有消息 Here htt
  • 如何创建一个尾递归方法,该方法也可以以非尾递归方式引用自身

    假设我有一种用于长时间运行的计算的机制 可以暂停自己以便稍后恢复 sealed trait LongRunning R case class Result R result R extends LongRunning R case clas
  • 在同构 React 组件中导入 CSS 文件

    我有一个 React 应用程序 其中包含用 ES6 编写的组件 通过 Babel 和 Webpack 进行编译 在某些地方 我想包含具有特定组件的特定 CSS 文件 如中所建议的React webpack 食谱 https christia
  • Rails 6 中的自动加载和 Zeitwerk 模式

    Rails 6 中的 Zeitwerk 模式中是否有任何代码被折旧 class Application lt Rails Application Initialize configuration defaults for originall
  • 执行批量插入 SQLAlchemy 的最佳方法

    我有一张桌子叫products 其中有以下列id product id data activity id 我本质上想做的是复制大量现有产品并更新它activity id并在产品表中创建新条目 例子 我已经有 70 个 Activity id
  • MATLAB 奇怪的“输入参数太多”错误

    对于一个项目 我尝试使用 matlab 调用另一个 m 文件中的函数 然而 它说 没有足够的输入参数 即使我确实传递了我相当确定是足够的输入参数 在 eval square m 中 function f eval square x fitn
  • AWS Cloudwatch 未触发 API 调用

    我试图在任何 API 调用上创建规则触发器以进行创建 但没有取得任何成功 我有另一个规则 每当 ec2 实例运行时就会触发该规则 但该规则不会针对 RunInstances 触发 尽管我在 API 日志中看到带有 RunInstances
  • emacs 跨帧跟随模式

    有没有一种方法可以像在跟随模式中那样获得行为 但可以在单独的框架中跨越多个窗口 我必须处理一些令人讨厌的遗留代码 这些代码有七页砖块 八层深度的嵌套 for 循环 其中有很多 goto 它有助于查看尽可能多的代码 以便充分理解和重写它 而不
  • Symfony2 表单用数据预填充字段

    暂时假设该形式使用了一个虚构的Animal文档对象类来自ZooCollection只有两个属性 名称 和 颜色 symfony2 questions tagged symfony2 我正在寻找一个工作简单愚蠢的解决方案 to pre fil
  • Streambuf到底是什么?我该如何使用它?

    我正在尝试更多地了解 I O 流在 C 中如何工作 但我真的很困惑何时使用什么 到底什么是streambuf 我什么时候使用streambuf 与string an istream or a vector 我已经知道最后三个 但不知道如何s
  • 如何在 Odoo 模板语言中使用 if

    我正在尝试使用与 Django 中相同的功能 div class 在 Odoo 我有 div