我有一个createview,带有用于初始化表单数据的get_initial
class CaricaDocumento(AppViewMixin, CreateView):
model = Documento
template_name = "carica_documento.html"
form_class = CaricaDocumentoForm
def get_initial(self):
initial = CreateView.get_initial(self)
oggi = date.today()
c_year = int(oggi.year)
initial["data"] = oggi
initial["anno"] = c_year
ultimoDoc = Documento.objects.filter(
anno=c_year).order_by('-numero')[0]
initial["numero"] = ultimoDoc.numero + 1
initial["fileOdt"] = None
return initial
然后在相关表格中,我有一个媒体类来设置用于数据输入的小部件...
class CaricaDocumentoForm(ModelForm):
fileOdt = FileField(
help_text="File ODT (OpenDocument) - Il documento modificabile", required=False)
filePdfScansionato = FileField(
help_text="File PDF con firme Scansionato", required=False)
fileFirmato = FileField(
help_text="File Firmato, p7m/CAdES oppure pdf/PAdES", required=False)
[...]
class Meta:
fields = ["tipo", "numero", "anno",
"data", "titolo", "servizio", "note"]
widgets = {
'data': DateInput(format=('%m/%d/%Y'), attrs={'class': 'datetime-input', 'placeholder': 'Seleziona una data', 'type': 'date'}),
}
model = Documento
它正确呈现了小部件(很酷的数据选择器)的数据字段,但是忽略了初始值...它呈现的是格式,而不是 oggi 变量的值。
为什么?
我可以做些什么来呈现初始值但也要有日期选择器?
我不希望出现此处所示的“默认”值:forms.DateInput default value