Tempus Dominus Bootstrap 4: пустое поле DateTimeInput - PullRequest
0 голосов
/ 08 июля 2019

Я разработал пользовательскую форму, используя Tempus Dominus Bootstrap 4 в CDN Когда я создаю объект, я могу добавить правильную дату и время, но когда я пытаюсь обновить существующий объект, поле ввода формыпусто;Я хочу увидеть предыдущую дату и время.

enter image description here

Я не понимаю, в чем проблема.В чем я не прав?

forms.py

class FileUploadForm(forms.ModelForm):
    name = forms.CharField(
                max_length=50,
                help_text="<small>Write file name here. The name must be have max 50 characters</small>",
                widget=forms.TextInput(
                                    attrs={
                                        "placeholder": "Titolo",
                                        "type": "text",
                                        "id": "id_title",
                                        "class": "form-control form-control-lg",
                                        }
                                    ),
                )
    description = forms.CharField(
                    max_length=200,
                    help_text="<small>Write a short description here. The description must be have max 200 characters.</small>",
                    widget=forms.Textarea(
                                        attrs={
                                            "placeholder": "Descrizione",
                                            "type": "text",
                                            "id": "id_description",
                                            "class": "form-control",
                                            "rows": "2",
                                            }
                                    ),
                    )
    publishing_date = forms.DateTimeField(
                            input_formats=['%d/%m/%Y %H:%M'],
                            label="Data di pubblicazione",
                            help_text="<small>Write data and hour of publication. You can use also a past or a future date.</small>",
                            widget=forms.DateTimeInput(
                                                attrs={
                                                    "id": "publishing_date_field",
                                                    'class': 'form-control datetimepicker-input',
                                                    'data-target': '#publishing_date_field',
                                                }
                                            ),
                        )
    file = forms.FileField(
                        help_text="<small>Upload the file here.</small>",
                        widget=forms.ClearableFileInput(
                                            attrs={
                                            "placeholder": "Carica il file",
                                            "type": "file",
                                            "id": "id_file",
                                            "class": "custom-file-input",
                                            }
                                        ),
                        )

    class Meta:
        model = FileUpload
        fields = [
            'name',
            'description',
            'publishing_date',
            'file',
            ]

views.py

def createFile(request):
    if request.method == 'POST':
        form = FileUploadForm(request.POST or None, request.FILES or None)
        if form.is_valid():
            form.save()
            return redirect('file_list')
    else:
        form = FileUploadForm()
    context = {
        'form': form,
        }
    template = 'fileupload/editing/upload_file.html'
    return render(request, template, context)

def updateFile(request, pk=None):
    update_file = get_object_or_404(FileUpload, pk=pk)
    form = FileUploadForm(request.POST or None, request.FILES or None, instance=update_file)
    if form.is_valid():
        update_file = form.save()
        update_file.save()
        return redirect('file_list')

    context = {
        'form': form,
        }
    template = 'fileupload/editing/upload_file.html'
    return render(request, template, context)

upload_file.html

<div class="form-group mb-4">
  <div class=""><h4>{{ form.publishing_date.label }}</h4></div>
  <div class="input-group date" data-target-input="nearest">
    {{ form.publishing_date }}
    <div class="input-group-append" data-target="#publishing_date_field" data-toggle="datetimepicker">
      <div class="input-group-text"><i class="fa fa-calendar"></i></div>
    </div>
  </div>
  <label for="publishing_date_field">
    <span class="text-info" data-toggle="tooltip" title="{{ form.publishing_date.help_text }}">
      <i class="far fa-question-circle"></i>
    </span>
    <small class="text-danger">{{ form.publishing_date.errors }}</small>
  </label>

  <script>
    $(function () {
      $("#publishing_date_field").datetimepicker({
        format: 'DD/MM/YYYY HH:mm',
      });
    });
  </script>
</div>
...