我正试图在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 %}
参考文件