代码之家  ›  专栏  ›  技术社区  ›  Nkls155

django-tables2 LinkColumn正确显示日期

  •  1
  • Nkls155  · 技术社区  · 7 年前

    我目前正在使用Django1.11.2和Django-tables2进行一个项目。我使用一个表来显示我的模型。该模型有一个DateTime字段,该字段在正常列中正确显示,但当我将LinkColumn与此DateTimeField一起使用时,日期以如下复杂格式显示:“2017-02-23 07:49:53.067504+00:00”,而不是“23.02.2017 07:49”。 链接工作正常,但我找不到回到简单格式的方法。

    The LinkColumn looks like this

    class mymodel(models.Model):
    Date = models.DateTimeField(auto_now_add=True, help_text='(Format: TT.MM.JJJJ)')
    
    ...other fields...
    
    class Meta:
        ordering = ["Date"]
        verbose_name = "MyModel"
        verbose_name_plural = "MyModels"
    

    和表格:

    class MyModelTable(django_tables2.Table):
    Date = django_tables2.LinkColumn(viewname='MyModelView', kwargs={"id": Accessor("id")})
    class Meta:
        model = MyModel
        exclude = {'id'}
        attrs = {"class": "paleblue"}
    

    提前感谢您的帮助或想法。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Jieter    7 年前

    LinkColumn 将列中的值转换为字符串,不关心日期。您可以使用 text 链接列 要传递可调用的,请使用自定义方式渲染值。

    例如:

    class MyModelTable(django_tables2.Table):
        Date = django_tables2.LinkColumn(
            viewname='MyModelView', 
            kwargs={"id": Accessor("id")},
            text=lambda record: record.Date.strftime('%x %X')
        )
    
        class Meta:
            model = MyModel
            exclude = {'id'}
    

    %x %X , documentation here .

    文本 .