我正在尝试用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天?
发布于 2021-12-20 02:58:24
与默认筛选器不同,您应该编写一个自定义过滤器:
# 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://stackoverflow.com/questions/70416572
复制相似问题