模板中的 Django object_name 渲染

Posted

技术标签:

【中文标题】模板中的 Django object_name 渲染【英文标题】:Django object_name rendering in template 【发布时间】:2016-07-10 10:31:53 【问题描述】:

我看过一个关于此的 SO 帖子,但似乎找不到。

我的结果在我的模板中呈现,其中 object_name 为 'sessions__sum': 29649

而不仅仅是 29649.

我怎样才能只显示总和?谢谢你。

更新

我意识到,由于缺乏知识,我可能没有正确地提出我的问题,所以下面是我的视图和我的模板的屏幕截图,在浏览器中呈现。希望这将有助于解决问题。

查看

year_weekly_filter.filter(created__week_day=1).aggregate(Sum('sessions'))
monday2014 = year_weekly_filter.filter(created__week_day=2).aggregate(Sum('sessions'))

模板

 monday2014 

ScreenShot - 它在浏览器中的呈现方式

【问题讨论】:

如果您要投反对票,那么您应该提供一些专业且有用的反馈。如果不是我,至少对于可能看到这篇文章的其他用户来说。 【参考方案1】:

您的意思是模板中的object 是由字典对象呈现的吗? 在这种情况下,以这种方式访问​​密钥。

object.sessions__sum

您可以通过this 获得帮助,相关文档为here。

我没有足够的积分来添加评论,所以我在这里留下我的猜测。

【讨论】:

【参考方案2】:

您应该注意:“aggregate() 是 QuerySet 的终止子句,当调用它时,返回名称-值对的字典。” - Django 文档 如果您只想将单个值返回给变量而不是字典,请像这样使用 .get:

monday2014 = year_weekly_filter.filter(created__week_day=2).aggregate(Sum('sessions')).get('sessions__sum',0)

【讨论】:

我已经敲了一天的脑袋想弄明白……只是不知道怎么问这个问题。谢谢!!! 没问题!我最近在自己的工作中遇到了这个问题,并对此感到困惑,返回一个用于在单个查询中创建多个聚合的 dict 是有意义的。

以上是关于模板中的 Django object_name 渲染的主要内容,如果未能解决你的问题,请参考以下文章

THS爬虫岗位面试总结

怎样保存渲图

模板中的 Django 外键

Django Rest Framework-----序列化详解(serializers)

如何在 Django 模板中的“带有模板标签”中设置 Django 渲染块值?

Django 模板中的 Handlebars.js