django-tables2 LinkColumn 正确显示日期
django-tables2 LinkColumn show Date correctly
我目前正在开发一个使用 Django 1.11.2 和 django-tables2 的项目。我使用 table 来显示我的模型。该模型有一个 DateTimeField,它在正常列中正确显示,但是当我将 LinkColumn 与此 DateTimeField 一起使用时,日期以如下复杂格式显示:'2017-02-23 07:49:53.067504+00 :00' 而不是 '23.02.2017 07:49'。
这些链接工作正常,但我找不到恢复简单格式的方法。
我在 models.py 中的模型:
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"
和 table:
class MyModelTable(django_tables2.Table):
Date = django_tables2.LinkColumn(viewname='MyModelView', kwargs={"id": Accessor("id")})
class Meta:
model = MyModel
exclude = {'id'}
attrs = {"class": "paleblue"}
在此先感谢您的帮助或想法。
LinkColumn
将列中的值转换为字符串并且不关心日期。您可以使用 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.
呈现日期和时间
请注意,如果此字段可为空,则应在使用 text
传递的可调用项中添加检查。
我目前正在开发一个使用 Django 1.11.2 和 django-tables2 的项目。我使用 table 来显示我的模型。该模型有一个 DateTimeField,它在正常列中正确显示,但是当我将 LinkColumn 与此 DateTimeField 一起使用时,日期以如下复杂格式显示:'2017-02-23 07:49:53.067504+00 :00' 而不是 '23.02.2017 07:49'。 这些链接工作正常,但我找不到恢复简单格式的方法。
我在 models.py 中的模型:
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"
和 table:
class MyModelTable(django_tables2.Table):
Date = django_tables2.LinkColumn(viewname='MyModelView', kwargs={"id": Accessor("id")})
class Meta:
model = MyModel
exclude = {'id'}
attrs = {"class": "paleblue"}
在此先感谢您的帮助或想法。
LinkColumn
将列中的值转换为字符串并且不关心日期。您可以使用 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.
请注意,如果此字段可为空,则应在使用 text
传递的可调用项中添加检查。