意图
在Django模板中,我为字母表中的每个字母创建一个链接,并为每个数字1-9创建链接,以链接到索引页。
在Python代码中,如下所示:
for ch in map(chr, range(97, 123)) + range(1,10):
print '<a href="/indexpage/{0}/">{0}</a>'.format(ch)
但是我想在Django模板中这样做,所以我不能直接使用map/range函数。
失败尝试
首先,我考虑创建一个返回字母数字字符列表的模板标记,然后在模板中遍历它,但是这不起作用,因为它是一个标记,而不是一个上下文变量。
Templatetag:
@register.simple_tag
def alnumrange():
return map(chr, range(97, 123)) + range(1,10)
模板:
{% for ch in alnumrange %}
<a href="/indexpage/{{ch}}/">{{ch}}</a>
{% endfor %}
我认为它在使用with
标记时可能会起作用,但也不起作用。
进一步思考
是否有一种方法可以将模板标记输出转换为我可以迭代的上下文变量?还是有别的办法我应该解决这个问题?
https://stackoverflow.com/questions/8833489
复制