Как добавить значение по умолчанию для переключателя даты в Django Model Form

В настоящее время у меня есть выборка даты в форме модели django, которая работает отлично. Однако я хочу добавить к нему начальное значение (по умолчанию). Вот мой текущий код :

class DatePickerInput(forms.DateInput):
        input_type = 'date'
        
class PDFClassificationForm(forms.ModelForm):  
    
    class Meta:  
        model = Documents
        fields = [
                  'id_documenttype',
                  'dateenvoi',,
                  'comment']
        widgets = {
            'dateenvoi' : DatePickerInput(),
        }

Я попробовал добавить initial в качестве параметра к DatePickerInput() следующим образом :

widgets = {
            'dateenvoi' : DatePickerInput(initial= datetime.now().strftime('%d/%m/%y %H:%M:%S')),
        }

Однако это не удалось, есть предложения?

Попробуйте это:

import datetime
    
class PDFClassificationForm(forms.ModelForm):  
    
    class Meta:  
        model = Documents
        fields = [
              'id_documenttype',
              'dateenvoi',
              'comment',
               ]
        widgets = {
            'dateenvoi' : DatePickerInput(widget=forms.TextInput(attrs={'value': datetime.now().strftime('%d/%m/%y %H:%M:%S')})),
        }
        

попробуйте добавить желаемое начальное значение в форму в представлении (views.py)

import datetime
from django.views.generic import TemplateView

from .forms import PDFClassificationForm

class YourView(TemplateView):
    template_name = 'your_directory/your_template_name.html'
    form_class  = PDFClassificationForm

    def post(self, request, *args, **kwargs):
        form = self.form_class(request.POST)
        return render(request, self.template_name, {'form': form})

     def get_context_data(self, *args, **kwargs): 
        context = super(YourView, self).get_context_data(*args, **kwargs)
        request = self.request
        context["form"] = PDFClassificationForm(request.POST or None, initial={ "dateenvoi": datetime.today) 
        return context
Вернуться на верх