Django模板和变量属性

我正在使用Google App Engine和Django模板。

我有一个想要显示对象的表格,如下所示:

Object Result:

Items = [item1,item2]

Users = [{name='username',item1=3,item2=4},..]

Django模板是:

<table>

<tr align="center">

<th>user</th>

{% for item in result.items %}

<th>{{item}}</th>

{% endfor %}

</tr>

{% for user in result.users %}

<tr align="center">

<td>{{user.name}}</td>

{% for item in result.items %}

<td>{{ user.item }}</td>

{% endfor %}

</tr>

{% endfor %}

</table>

现在Django文档指出当它看到一个。在变量中

它尝试几种方法来获取数据,其中之一是字典查找,这正是我想要的,但似乎没有发生…

回答:

我找到了一种在内部获取变量的“更好”的解决方案,虽然不是最好的方法,但是它可以工作。

你将自定义过滤器安装到Django中,该过滤器将dict的键作为参数

为了使其能够在Google App Engine中工作,你需要向主目录中添加一个文件,我称其为django_hack.py,其中包含以下这段代码

from google.appengine.ext import webapp

register = webapp.template.create_template_register()

def hash(h,key):

if key in h:

return h[key]

else:

return None

register.filter(hash)

现在我们有了这个文件,我们需要做的就是告诉应用程序引擎使用它…我们通过在主文件中添加这一行来做到这一点

webapp.template.register_template_library('django_hack')

并在模板视图中添加此模板,而不是通常的代码

{{ user|hash:item }}

以上是 Django模板和变量属性 的全部内容, 来源链接: utcz.com/qa/418230.html

回到顶部