繁体   English   中英

模板中的Django对象查找

[英]Django object lookups in templates

我正在阅读Django项目教程,在节中它说:

模板系统使用点查找语法来访问变量属性。 在{{question.question_text}}的示例中,首先Django对对象问题进行字典查找。 如果失败,它将尝试属性查找-在这种情况下可以工作。 如果属性查找失败,它将尝试进行列表索引查找。

这是否意味着Django question是一个字典对象,并且在第一个实例中,将question_text作为键,如果找到,则返回值? 除此之外,我无法想象这两个后备选项的作用。

这是否意味着Django question是一个字典对象,并且在第一个实例中,将question_text作为键,如果找到,则返回值? 除此之外,我无法想象这两个后备选项的作用。

question并不一定是文字dict对于第一种选择工作。 它必须像字典一样。 也就是说, question['question_text']在Python中有效。

第一个后备广告是指常规的Python点表示法。 例如,如果以下任何一种在Python中都有效:

question.question_text  # or
question.question_text()

然后question.question_text将在返回Python值的模板中工作。 注意,两种情况都省略括号。

最后的后备方法是数字索引。 例如,如果question是一个列表并且在Python中有效:

question[0]

然后question.0 question[0]将在模板中工作,返回question[0]的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM