如何在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 %}

参考文件

最新更新