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

在Django模板中动态获取列表项

蒙洛华
2023-03-14
问题内容

我在页面上有一些循环,需要根据循环号列出项目。

当我打电话时:

{{ mylist.1 }}
{{ mylist.2 }}
{{ mylist.3 }}

一切正常,但是我真正需要的是:

{% for x in somenumber|MyCustomRangeTag %}
    {{ mylist.x }}
{% endfor %}

MyCustomRangeTag给了我range()它可以使用的Python ,而我已经拥有x了数量。x根据循环号,1、2、3等也是如此。这有可能吗?


问题答案:

这不可能直接实现,因为Django认为这"x"是查找的关键mylist-而不是x 的值。因此,当x = 5Django尝试查找mylist["x"]而不是mylist[5]

使用以下过滤器作为解决方法:

@register.filter
def lookup(d, key):
    return d[key]

并像这样使用

{{ mylist|lookup:x }}


 类似资料:
  • 我用Django开发了一个Web应用。在View函数中,我将一个查询集列表呈现到前端。在我的例子中,标题表是书籍信息,材料是这本书的详细信息,附在哪个课程上,如果这个附加关系是“丢弃”。is_discard在材料表中,而不是这本书丢弃与否。在材料表中,一门课程附带几本书,丢弃状态不是按书而是按书-课对,因为有些书可能在一门课程中丢弃,但在其他课程中有效 看法py: 在前端,query\u resu

  • 问题内容: 我定义了一个(最终)继承自的类。我想获取为此模型定义的所有字段的列表。例如,。基本上,我想检索从该类继承的任何内容。 我以为我可以利用来检索这些,但是它返回的列表不包含任何这些字段。看起来Django已经掌握了该类,并添加了其所有魔术属性并去除了实际定义的内容。那么…我如何获得这些领域?它们可能具有为自己的内部目的检索它们的功能? 问题答案: 由于大多数答案已过时,因此我将尝试在Dja

  • 问题内容: 如何获得jinja2模板中列表中的元素数? 例如,在Python中: 和在jinja2 问题答案: 您也可以在以下表达式中使用此语法 jinja2的内置过滤器记录在这里;具体来说,正如您已经发现的(及其同义词)记录为: 返回序列或映射的项目数。 因此,正如您所发现的,模板中的(或等效)将给出“产品数量”(“列表长度”)

  • 问题内容: 我想知道如何在模板中获取当前URL。 说我目前的网址是: 如何将其返回到模板? 问题答案: Django 1.9及更高版本: 旧:

  • 问题内容: 这可能很简单,但是我环顾四周,找不到答案。从Django模板引用列表中的单个项目的最佳方法是什么? 换句话说,在模板语言中我该如何做? 问题答案: 看起来像。

  • 我的模板中当前有以下代码: 其中是测试套件的名称,是该测试套件中失败测试用例的列表。我想知道如何才能改变到类似于其中在循环的每次迭代中递增。 UPDATE 在尝试@Gocht的答案后,我有以下代码: 在我的模板标签/get_percentage.py文件中 在我的模板中 我遇到了“字符串索引超出范围”错误。我试图寻找可能的原因,但没有一个答案与自定义模板标记相关。