Python 如何使用forloop.counter0作为索引按列表设置href值?
我正在将名为“list”的列表传递给视图,并且我想创建链接,其中href属性是由Python 如何使用forloop.counter0作为索引按列表设置href值?,python,django,django-templates,Python,Django,Django Templates,我正在将名为“list”的列表传递给视图,并且我想创建链接,其中href属性是由forloop.counter0迭代的列表元素的值 据我所知,获取列表元素需要这样的代码: {{ list.0 }} 但是如何使用forloop.counter0值进行迭代呢 我所做的是这样的: {% for name in names %} <tr> <a href="/foo/bar/{{ list.forloop.counter0 }}">
forloop.counter0
迭代的列表元素的值
据我所知,获取列表元素需要这样的代码:
{{ list.0 }}
但是如何使用forloop.counter0
值进行迭代呢
我所做的是这样的:
{% for name in names %}
<tr>
<a href="/foo/bar/{{ list.forloop.counter0 }}">
{{ name }}
</a>
</tr>
{% endfor %}
{%for name in names%}
{%endfor%}
但这没有任何价值,我尝试了更多的括号,但没有成功
我该怎么做呢?编辑:好的,谢谢你的澄清。我建议定制一个模板标签 创建一个
yourapp/templatetags/
dir。在这种情况下,创建一个名为\uuuu init\uuuuuuu.py
(Django确认文件夹需要此文件)的空白文件和一个名为custom_tags.py
的文件
在custom_tags.py中创建如下标记:
from django import template
register = template.Library()
@register.filter('list_index')
def list_index(mylist,index):
return mylist[index]
不在模板中,请添加到顶部:
{% load custom_tags %}
导入/初始化库
现在您可以像这样使用此标记:
<a href="/foo/bar/{% list_index list forloop.counter0 %}">
从forloop.0提供的索引处的列表中检索项目
快速提示-list
在Python标准库中,因此永远不要将其用作变量名(以防它镜像您的代码)。我认为OP要求的是在模板中检索list[forloop.counter0]
的语法。@LostMyGlasses Yes,这就是我想要达到的目标。@JacekKozakowski你们的问题已经有了答案。谢谢你们的帮助。