DatePicker не работает в Django? - PullRequest
0 голосов
/ 30 июня 2018

Сценарий добавлен в base.html

$(function() {
  $('.datepicker').datepicker({
    format: 'mm/dd/yyyy',
    // startDate: '-3d'
    startDate: "2013-02-14 10:00",
    changeMonth: true,
    changeYear: true,
    yearRange: "1900:2012",
    uiLibrary: 'bootstrap4',
    autoclose: true,
  });
})

Мой класс MessLeaveForm в forms.py

class MessLeaveForm(forms.ModelForm):

    departure_date = forms.DateField()
    arrival_date = forms.DateField(widget=forms.DateInput(format='%d/%m/%Y'))
    departure_time = forms.TimeField(widget=forms.TimeInput(format='%H:%M'))
    arrival_time = forms.TimeField(widget=forms.TimeInput(format='%H:%M'))
    verification = forms.ChoiceField(choices=BOOL_VALUES,initial="Pending",widget=forms.HiddenInput(),required=False)
    approval = forms.ChoiceField(choices=BOOL_VALUES,initial="Pending",widget=forms.HiddenInput(),required=False)
    status = forms.ChoiceField(choices=BOOL_VALUES,initial="Pending",widget=forms.HiddenInput(),required=False)
    hostel_suscribed = forms.ChoiceField(choices = HOSTEL_CHOICES,required = True)
    mess_manager_doc = forms.FileField(required=False)
    faculty_doc = forms.FileField(required=False)

    class Meta:
        model = MessLeaveModel
        fields = ('idNo','hostel_suscribed','departure_date','departure_time','arrival_date','arrival_time','mess_manager_doc','faculty_doc','verification','approval','status')
        widgets = {
            'departure_date': forms.DateInput(attrs={'class':'datepicker'}),
        }

Моя модель MessLeaveModel в models.py

class MessLeaveModel(models.Model):
    # user = models.ForeignKey(OccupantDetails,null=True,on_delete=models.CASCADE)
    idNo = models.ForeignKey(OccupantDetails,on_delete = models.CASCADE)
    username = models.CharField(max_length=255, null=False,blank=False,default="")
    hostel_suscribed = models.CharField(max_length=255,choices = HOSTEL_CHOICES,null=True)
    departure_date = models.DateField()
    arrival_date = models.DateField()
    departure_time = models.TimeField(null = True,blank = True)
    arrival_time = models.TimeField(null=True,blank=True)
    faculty_doc = models.FileField(upload_to='documents/',null=True,blank=True)
    mess_manager_doc = models.FileField(upload_to='documents/',null=True,blank=True)
    verification = models.CharField(max_length=255,choices=BOOL_VALUES,default="Pending")
    approval = models.CharField(max_length=255,choices=BOOL_VALUES,default="Pending")
    status = models.CharField(max_length=255,choices=BOOL_VALUES,default="Pending")
    comment = models.CharField(max_length=255,blank=True,null=True,default="")


    def __str__(self):
        return '%s_%s_%s' %(self.idNo,self.departure_date,self.arrival_date)

Мой Django HTML, где я беру дату отъезда

<label class="control-label col-sm-2"> Departure Date</label>
<div class="col-sm-10">{{form.departure_date}}

Я пытаюсь добавить datepicker в departure_date поле MessLeaveModel модели. Я добавил соответствующий скрипт в base.html и добавил этот класс через виджет в метаклассе MessLeaveForm. Я расширил base.html в моем messLeaveForm.html и получил ввод там. datepicker не отвечает вообще.

1 Ответ

0 голосов
/ 30 июня 2018

Возможно, вы захотите взглянуть на пакет django-tempus-dominus, который содержит виджеты Bootstrap 4 datepicker для Django:

https://pypi.org/project/django-tempus-dominus/

Это набор оболочек для библиотеки jQuery Tempus Dominus, преемника полной перезаписи Bootstrap Date Picker. Удачи!

...