我是谁, 我从Django开始,我想要一个对象返回其统计信息并直接在HTML模板中显示它们。 为此,我的对象方法。 get_stat(self)返回一个列表和3个字典。 我如何使用这些数据返回?我可以在方法调用{{}}中看到数组我不能在{%%}中使用它们并在Javasript中使用它们来制作图表。 如何取回他的阵列使用它?
提前感谢您的澄清
我的模特:
class Adviser(models.Model):
TYPES_CHOICES = (('PRF', _('Professor')),
('MGR', _('Manager')),)
def get_stat(self):
some queries to create tables
return (list_stat1,tab_stat1,tab_stat2,tab_stat3)
在我的模板HTML中:
{% for adviser in advisers %} {{ adviser }} {{ adviser.type }} {% adviser.get_stat as adviser_list_stat1 adviser_tab_stat1 adviser_tab_stat2 adviser_tab_stat3 %} {% endfor %}
有了这个:
{{ adviser.get_stat }}
我有我的标签: ([2,1,0,1,0],{' Cours xy':1},{},{' cours xx':5})
答案 0 :(得分:0)
get_stat(self)应该返回一个字典{“list_1”:[2,1,0,1,0],“dict_1”:{'Cours xy':1}}然后你可以这样做:
{% for adviser in advisers %}
{% with ad_stat=adviser.get_stat %}
{{ad_stat.list_1}}
{{ad_stat.dict_1}}
....
{% endfor %}
{% endfor %}
这就是你要找的东西吗?
答案 1 :(得分:0)
将方法get_stat
定义为在模板中调用它的属性:
class Adviser(models.Model):
TYPES_CHOICES = (('PRF', _('Professor')),
('MGR', _('Manager')),)
@property
def get_stat(self):
some queries to create tables
return (list_stat1,tab_stat1,tab_stat2,tab_stat3)
现在您可以在模板中调用它:
{% for adviser in advisers %}
{{ adviser.get_stat }}
{% endfor %}