Python 在Google App Engine中,有没有更好的方法来迭代(Django)模板中的元组?
基本上,我要做的是在中的模板中呈现Python 在Google App Engine中,有没有更好的方法来迭代(Django)模板中的元组?,python,google-app-engine,django-templates,Python,Google App Engine,Django Templates,基本上,我要做的是在中的模板中呈现os.environ。我相信该技术是(或改编自)Django模板引擎版本0.96(但如果我错了,请纠正我) 我发现你可以: {{ for key, value in environ}} 但当我尝试这样做时,我得到一个错误,即: 带有五个单词的“for”语句应以“reversed”结尾:对于键,值在环境中 我猜那个问题是关于Django的另一个版本 顺便说一下,environ的值在呈现模板之前设置为os.environ.items() 不管怎样,我找到了一个键-
os.environ
。我相信该技术是(或改编自)Django模板引擎版本0.96(但如果我错了,请纠正我)
我发现你可以:
{{ for key, value in environ}}
但当我尝试这样做时,我得到一个错误,即:
带有五个单词的“for”语句应以“reversed”结尾:对于键,值在环境中
我猜那个问题是关于Django的另一个版本
顺便说一下,environ
的值在呈现模板之前设置为os.environ.items()
不管怎样,我找到了一个键-值-对类,我可以用它来代替:
class key_value_pair:
def __init__(self, key, value):
self.key = key
self.value = value
def make_kvp(key, iter):
return key_value_pair(key, iter[key])
make_kvp
是一种小型的“工厂”方法,我稍后使用它来设置environ
模板值,如下所示:
map(lambda x : make_kvp(x, os.environ), os.environ)
{% for x in dic %}
{% endfor %}
这样做时,一切都很好,但由于我对这里使用的技术一无所知,我只是想确保我没有监督一些明显更简单的解决方案。只需使用一个名称重复序列,然后对名称进行索引以获取各个元素。只需使用单个名称在序列上迭代,然后对名称进行索引以获取各个元素。此外,在模板中,您应该这样编写:
map(lambda x : make_kvp(x, os.environ), os.environ)
{% for x in dic %}
{% endfor %}
此外,在模板中,您应该这样写:
map(lambda x : make_kvp(x, os.environ), os.environ)
{% for x in dic %}
{% endfor %}
对于索引,您的意思是像
kvp[0]
?因为我试过了,但没用。但我想我的语法是不正确的。我收到一个无法分析剩余[0]
错误。您在Django模板中使用句点来索引序列kvp.0
@klausbyskov:在模板中使用
<代码>kvp.0。模板语言不是Python。你可能想看更多的Django教程。非常感谢你们两位@洛特:你完全正确,我确实需要阅读更多的Django文档,但我今天已经阅读了很多(其他)文档,我只是想通过一些编码来让我的脚湿润。我被卡住了。我很傻,但我相信你知道那种感觉。可悲的是,不,我不知道那种感觉。对不起,对于索引,您的意思是像kvp[0]
?因为我试过了,但没用。但我想我的语法是不正确的。我收到一个无法分析剩余[0]
错误。您在Django模板中使用句点来索引序列kvp.0
@klausbyskov:在模板中使用
<代码>kvp.0。模板语言不是Python。你可能想看更多的Django教程。非常感谢你们两位@洛特:你完全正确,我确实需要阅读更多的Django文档,但我今天已经阅读了很多(其他)文档,我只是想通过一些编码来让我的脚湿润。我被卡住了。我很傻,但我相信你知道那种感觉。可悲的是,不,我不知道那种感觉。很抱歉