Как заполнить поле ввода будущей датой в шаблоне Django?
Я пытаюсь заполнить поле ввода будущей датой в шаблоне django.
<input name="expiration_date" class="form-control" id="expiration_date" type="text"
data-toggle="input-mask" data-mask-format="0000-00-00" value="{{ object.table.expiration_date|default:'' }}"
Как я могу настроить его так, чтобы object.table.expiration_date|default:''
предварительно заполнялся datetime.now() плюс 30 дней?
Вместо фильтра по умолчанию следует написать настраиваемый фильтр :
# my_filters.py
import datetime
from django import template
register = template.Library()
@register.filter(name=exp_date)
def expiration_default(value):
if not value:
return datetime.datetime.now() + datetime.timedelta(days=30)
else:
return value
Ваш макет приложения может выглядеть следующим образом:
yourapp/
__init__.py
models.py
templatetags/
__init__.py
my_filters.py
views.py
Затем вы можете использовать его в своем шаблоне:
<input name="expiration_date" class="form-control"
id="expiration_date" type="text"
data-toggle="input-mask" data-mask-format="0000-00-00"
value="{{ object.table.expiration_date|exp_date }}"
Также не забудьте добавить следующий тег в ваш шаблон:
{% load my_filters.py %}
обратитесь к https://docs.djangoproject.com/en/4.0/howto/custom-template-tags/#writing-custom-template-filters