我的日期小部件在forms.py中看起来像这样:
class DateInput(DateInput):
input_type = 'date'
class TaskCreateForm(ModelForm):
class Meta:
model = TaskModel
fields = '__all__'
exclude = ('task_project',)
widgets = {
'task_baseline_start': DateInput(),
'task_baseline_finish': DateInput(),
'task_scheduled_start': DateInput(),
'task_scheduled_finish': DateInput(),
'task_real_start': DateInput(),
'task_real_finish': DateInput(),
}
问题是,每当有人将日期引入到太远的future /过go 时,应用程序的其他部分就会变得一团糟(比如图形和其他东西).
我试过以下方法:
class DateInput(DateInput):
input_type = 'date'
attrs = {'min': '2020-01-01'}
但这个小部件一直接受2020-01-01之前的日期.
编辑:如果我在每个"DateInput()"实例上设置属性,小部件将遵守限制,即:
class TaskCreateForm(ModelForm):
class Meta:
model = TaskModel
fields = '__all__'
exclude = ('task_project',)
widgets = {
'task_baseline_start': DateInput(attrs={'min':'2019-01-01'}),
'task_baseline_finish': DateInput(attrs={'min':'2019-01-01'}),
'task_scheduled_start': DateInput(attrs={'min':'2019-01-01'}),
'task_scheduled_finish': DateInput(attrs={'min':'2019-01-01'}),
'task_real_start': DateInput(attrs={'min':'2019-01-01'}),
'task_real_finish': DateInput(attrs={'min':'2019-01-01'}),
}
现在这个代码伤害了我的感情,我觉得完全不尊重枯燥的标准.有没有更好的方法只设置一次约束?
谢谢!