将修改后的数据返回到模板

发布于 2024-08-30 18:25:19 字数 140 浏览 6 评论 0原文

当我将查询集数据返回到模板时,我需要修改它。

例如, model.objects.all() 返回一个日期(带有其他字段),但我还想返回自该日期过去以来的天数。这样,在模板中,我可以说“您上次登录是在 4 天前”。

最好的方法是什么?

I need to amend QuerySet data when i return it to a template.

for example, model.objects.all() returns a date (with other fields), but i also want to return the number of days since that date has passed. This is so that in the template, i can say "you last logged in 4 days ago".

What is the best way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

对岸观火 2024-09-06 18:25:19

有一个内置的 模板过滤器 可以执行此操作:

{{ myobject.datefield|timesince }}

但通常对于这类事情,最简单的方法可能是在模型上定义自定义方法:

def mymethod(self):
   today = datetime.datetime.today()
   since = today - self.datefield  # since is a datetime.timedelta object
   return since.days

There's a built-in template filter to do this:

{{ myobject.datefield|timesince }}

But generally for this sort of thing, the easiest way is probably to define a custom method on the model:

def mymethod(self):
   today = datetime.datetime.today()
   since = today - self.datefield  # since is a datetime.timedelta object
   return since.days
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文