У меня есть 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 значение по умолчанию