Django 生成一个自定义小部件值,使其看起来像自定义日期
我有一个自定义小部件,我想将值格式化为Date 来自数据库的小部件值(是一个日期字段)的格式如下:Django 生成一个自定义小部件值,使其看起来像自定义日期,django,django-templates,django-template-filters,Django,Django Templates,Django Template Filters,我有一个自定义小部件,我想将值格式化为Date 来自数据库的小部件值(是一个日期字段)的格式如下: 2018-04-10我想这样展示给用户:2018年4月3日星期二 我尝试使用模板过滤器: {% if widget.value != None %} value="{{ widget.value|date:'M d, Y'}}"{% endif %} 但是字段值变为空。将日期传递给模板时,不需要将其转换为任何格式 格式如下:2018-04-10 Django日期模板筛选器接受一个参数python
2018-04-10
我想这样展示给用户:2018年4月3日星期二
我尝试使用模板过滤器:
{% if widget.value != None %} value="{{ widget.value|date:'M d, Y'}}"{% endif %}
但是字段值变为空。将日期传递给模板时,不需要将其转换为任何格式 格式如下:2018-04-10 Django日期模板筛选器接受一个参数python datetime对象,并将其转换为指定格式
(|date:'md,Y')
我猜,widget.value
包含字符串'2018-04-10'
,在这种情况下,django日期模板过滤器将无法工作。
您可以编写自己的模板过滤器,将字符串转换为python datetime对象,然后应用日期-(widget.value | own_filter | date:'md,Y')
或者,最好的解决方案是检查widget参数,它应该是python datetime对象
另外,您几乎无法改进代码:
{%if widget.value%}value=“{{widget.value |日期:'md,Y'}”{%endif%}