当前位置: 首页 > 知识库问答 >
问题:

如何使用当前索引获取另一个数组的值?

詹高畅
2023-03-14

我读过这篇文章,我有一个这样的数组:

context[u'erreurs'] = {
    'aa': {'titres': [], 'liste': [], 'urls': []},
    'bb': {'titres': [], 'liste': [], 'urls': []},
    '...': {'titres': [], 'liste': [], 'urls': []}
}

如果出现错误,'titres''liste''url'将成为字符串数组,并用相等的值填充。

在我的模板中,如果设置了erreur,我将执行以下操作:

    {% for idx, tab in erreurs.items %}
        <ul>
        {% for e in tab.liste %}
            {% if user.is_authenticated %}
            <li><a href="{{ tab.urls[forloop.counter0] }}">{{ e }}</a></li>
            {% else %}
            <li>{{ e }}</li>
            {% endif %}
        {% endfor %}
        </ul>
    {% endfor %}

我想使用当前索引来使用另一个数组中的值,这里是:tab.urls。它不工作,给我的错误:

Could not parse the remainder: '[forloop.counter0]' from 'tab.urls[forloop.counter0]'

这个怎么解决?

共有2个答案

翟源
2023-03-14

您需要创建一个表示数据的实际模型,然后任务就变得微不足道了

class YourModel(object):
    titre = ''
    liste = '' 
    url = ''

context[u'erreurs'] = {
    'aa': [],  # List of model
}

{% for idx, tab in erreurs.items %}
    <ul>
    {% for model in tab %}
        {{ model.titre }}
        {{ model.liste }}
        {{ model.url }}
    {% endfor %}
    </ul>
{% endfor %}
胡彭亮
2023-03-14

不幸的是,Django的模板不支持这种语法。您应该组合一个自定义模板筛选器:

# yourapp/templatetags/yourapp_tags.py:
from django import template
register = template.Library()

@register.filter
def at_index(array, index):
    return array[index]

然后像这样使用它:

{% load yourapp_tags %}
{{ tab.urls|at_index:forloop.counter0 }}
 类似资料:
  • 问题内容: 我正在使用Iterator来遍历一个集合,我想获取当前元素的索引。 我怎样才能做到这一点? 问题答案: 使用您自己的变量并在循环中将其递增。

  • 问题内容: 我有一个像这样的数组: 如果用户将“ Designation2”作为输入,则代码应返回。 这可能是一个非常简单的问题,但是我是Java的新手。因此,请提出一些建议。 问题答案: 您可以遍历数组中的字符串,并找到与您要查找的字符串匹配的索引。

  • 我使用的是火花 2.4。 我在火花数据帧中有一个数组类型(字符串类型())列和一个字符串类型()列。我需要在数组类型(字符串类型())列中找到字符串类型()列的位置。 样本输入: 样本输出: 我试过了array_position但它不起作用,我得到了“列不可迭代”错误。 我也尝试过组合exr、变换和array_position,但我想知道是否有不需要使用exr的解决方案。 谢谢:)

  • 如果我从问题中选择“q1”,我如何从答案中选择第一个数组? 这是我现在的代码:

  • 如何在for each循环中获取索引?我想为每一次迭代打印数字 例如 在java中,我们有传统的for循环 如何获取i?

  • 我有两个嵌套的< code>v-for元素,看起来像: 我想只展示前五个产品,不考虑类别数量和每个类别的产品数量。 如何在第二个 元素内获取累积索引计数(相对于从 categoryIndex 父数组显示的产品总数)?