【问题标题】:Returning modified data to a template将修改后的数据返回到模板
【发布时间】:2011-02-14 23:16:39
【问题描述】:

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

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

最好的方法是什么?

【问题讨论】:

    标签: django templates django-templates django-queryset


    【解决方案1】:

    有一个内置的template filter 可以做到这一点:

    {{ myobject.datefield|timesince }}
    

    但一般对于这种事情,最简单的方法可能是在模型上定义一个自定义方法:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多