【问题标题】:Formation a custom widget value to look like custom date形成一个自定义小部件值,看起来像自定义日期
【发布时间】:2018-10-05 17:35:20
【问题描述】:

我有一个自定义小部件,我想将值格式化为日期。

来自数据库的小部件值(是一个 DateField)是以下格式:

2018-04-10 我想向用户展示这样的内容:Tue Apr 03 2018

我尝试使用模板过滤器:

{% if widget.value != None %} value="{{ widget.value|date:'M d, Y'}}"{% endif %}

但字段值为空。

【问题讨论】:

    标签: django django-templates django-template-filters


    【解决方案1】:

    将日期传递给模板时,不需要将其转换为任何格式

    是以下格式:2018-04-10

    Django 日期模板过滤器接受一个参数 python datetime 对象并转换为指定格式(|date:'M d, Y')

    我猜,widget.value 包含字符串'2018-04-10',在这种情况下,django 日期模板过滤器将不起作用。 您可以编写自己的模板过滤器将字符串转换为 python 日期时间对象,然后应用日期 - (widget.value|own_filter|date:'M d, Y') 或者,最好的解决方案,检查 widget 参数,它应该是 python datetime 对象。

    附:您几乎无法改进您的代码:

    {% if widget.value %} value="{{ widget.value|date:'M d, Y'}}"{% endif %}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      • 2010-09-07
      相关资源
      最近更新 更多