Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 生成一个自定义小部件值,使其看起来像自定义日期_Django_Django Templates_Django Template Filters - Fatal编程技术网

Django 生成一个自定义小部件值,使其看起来像自定义日期

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

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

来自数据库的小部件值(是一个日期字段)的格式如下:

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%}