Виджет django DateInput игнорирует начальное значение - PullRequest
0 голосов
/ 19 марта 2019

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

...