当前位置: 首页 > 面试题库 >

获取Jinja2模板中列表的长度

祁乐邦
2023-03-14
问题内容

如何获得jinja2模板中列表中的元素数?

例如,在Python中:

print(template.render(products=[???]))

和在jinja2

<span>You have {{what goes here?}} products</span>

问题答案:
<span>You have {{products|length}} products</span>

您也可以在以下表达式中使用此语法

{% if products|length > 1 %}

jinja2的内置过滤器记录在这里;具体来说,正如您已经发现的length(及其同义词count)记录为:

返回序列或映射的项目数。

因此,正如您所发现的,模板中的{{products|count}}(或等效{{products|length}})将给出“产品数量”(“列表长度”)



 类似资料:
  • 问题内容: 我从Flask的Jinja2模板提供动态页面。现在,我在脚本标签内定义客户端模板,例如Jinja2克隆Nunjucks。问题是,客户端模板具有类似语法该Flask’s的 Jinja2的解释,而不是可以解释渲染的逐字。 如何使整个脚本块逐字呈现? 问题答案: 你可以禁用块内标签的解释:

  • 问题内容: 我在页面上有一些循环,需要根据循环号列出项目。 当我打电话时: 一切正常,但是我真正需要的是: MyCustomRangeTag给了我它可以使用的Python ,而我已经拥有了数量。根据循环号,1、2、3等也是如此。这有可能吗? 问题答案: 这不可能直接实现,因为Django认为这是查找的关键-而不是x 的值。因此,当尝试查找而不是。 使用以下过滤器作为解决方法: 并像这样使用

  • 问题内容: 我按行业来做html / css,并且我一直作为模板设计者从事django项目的工作。我目前正在使用Jinja2的网站上工作,该网站已经使用了大约2周。通过阅读文档,我发现Jinja2不支持多级模板继承,因为您不能做多个 每个渲染。现在,我非常确定您可以在Django中执行此操作,该功能非常强大,因为您可以指定基本模板,基于该模板指定3或4个模板,然后使用这些基本模板构建页面的内容。继

  • 问题内容: 我必须遵循以下方案: python字典的python列表列表中的 每个元素都是一个python字典,看起来像这样: 现在,我希望所有字典作为主模板中的列表。但是,每个词典的内容应由子模板呈现。应使用哪种模板来呈现内容,应由字典的type变量定义。 关于使用Jinja2如何完成此操作的任何提示(如果有帮助,我正在通过Flask使用它。) 谢谢! 问题答案: 如果有人需要它: 然后可以在模

  • 问题内容: 我正在使用html,css,flask和jinja2创建网站。 我有一个在Flask服务器上工作的页面,显示了按钮和标签等,但是我没有加载CSS样式表。 我如何将样式表链接到jinja2模板。我在互联网上四处张望,但找不到答案。 这是css样式表链接;我应该更改此代码还是python代码? 这是我的烧瓶代码: 这是文件的位置: 问题答案: 所有公共文件(未处理的文件,例如模板或py​​

  • 模板代表了 freemarker.template.Template 实例。典型的做法是从 Configuration 实例中获取一个 Template 实例。无论什么时候你需要一个模板实例, 都可以使用它的 getTemplate 方法来获取。在 之前 设置的目录中的 test.ftl 文件中存储 示例模板,那么就可以这样来做: Template temp = cfg.getTemplate("