Когда вы передаете дату в шаблон, вам не нужно преобразовывать ее в любой формат
имеет следующий формат: 2018-04-10
Фильтр шаблона даты Django принимает аргумент Python Datetime Object и преобразует в указанный формат (|date:'M d, Y')
Я думаю, widget.value
содержит строку '2018-04-10'
, в этом случае фильтр шаблонов даты django не будет работать.
Вы можете написать свой собственный фильтр шаблона для преобразования строки в объект datetime Python, а затем применить дату - (widget.value|own_filter|date:'M d, Y')
или, лучшее решение, проверьте аргумент виджета, это должен быть объект datetime Python.
P.S. Вы можете немного улучшить свой код:
{% if widget.value %} value="{{ widget.value|date:'M d, Y'}}"{% endif %}