2011-12-20 107 views
1

长篇小说我很好奇,如果有任何方法可以将for循环中obj的值拉到自定义模板标签中吗?模板标签中的for循环中的Django模板访问值

我现在有

{% for OBJ in OBJ_LIST %} 
{% TAG 'string_value' OBJ %} 
{% endfor %} 

招是我得到 'OBJ'

,当通过任

obj = template.Variable(objname) 
obj = template.resolve_variable(objname, context) 

运行中的不登记变量循环

好奇,如果有任何类型的工作?

+0

为了澄清,如果你把这个外面的循环,它的作品? – 2011-12-20 07:33:26

+0

是的,当在上下文中声明一个var时工作得很好 - 它只是传递var的名称,因此它会得到字符串'modelInstance'vs ModelInstance - 一个简单的解决方法是查看对象包但试图保持它干DRY – Alvin 2011-12-20 19:11:32

+0

经过几个小时的睡眠,并设法让它的工作,修复代码非常不确定我的具体问题是在哪里。 – Alvin 2011-12-20 20:29:58

回答

3

是的,有一种方法,我的标签在循环中正常工作。我认为你的模板标签有一个错误。但不是调试,我建议使用一些现有的框架来创建模板标签(thisthis或其他)。它会干,经过很好的测试,你将无法做出这样的错误。

+1

该标签完全在for循环之外工作 - 尽管在里面,如果它是一个新的变种没有在上下文中声明的话,什么都不会显示出来 - 表示您发布的链接只是提供我正在寻找的内容 - 谢谢 – Alvin 2011-12-20 07:38:17

+1

@DrTyrsa我不知道那些存在..凉豆 – 2011-12-20 08:04:28

+0

@yugi我想部分upvote你的评论只是为了使用酷豆,但我同意以及。 – 2011-12-21 02:30:01