Как поместить поле даты по умолчанию в форму с предыдущей датой, которая была дана до django - PullRequest
0 голосов
/ 30 июня 2019

Ну, я использую поле даты. У меня вопрос, как я могу установить стандартную форму dateField (в шаблоне), чтобы поместить ее с предыдущей датой, которую имеет поле.

class enterprisedata(models.Model):

    ....
    date        = models.DateField(default=timezone.now)
    ....

И это шаблон, в котором я его использую:

<!--Date of foundation-->
   <strong>Fecha de fundación:</strong>
      <div class="form-group">
         <input class= "form-control" type="date" name="date" value="{{enterprise.date}}" >
      </div>

Обратите внимание, что элемент управления формы имеет значение "enterprise.date", потому что я пытаюсь поставить дату, которая была раньше новой ...

views.py:

def edit_design(request):

    saveChanges = True
    contact = contactData.objects.get(id=0)
    temp = Templates.objects.get(temp_selected=True)
    enterprise = enterprisedata.objects.get(id=0)
    members = teamMembers.objects.filter(existencia=True)
    design = Available_design_page(isSelected=True)
    indexPage = indexDesign.objects.get(id=0)
    if request.method == 'GET':
        form = EnterpriseForm(instance=enterprise)
        form2 = ContactForm(instance=contact)
        form3 = IndexForm(instance=indexPage)
    else:
        form = EnterpriseForm(request.POST or None, request.FILES or None, instance=enterprise)
        form2 = ContactForm(request.POST or None, request.FILES or None, instance=contact)
        form3 = IndexForm(request.POST or None, request.FILES or None, instance=indexPage)
        if form.is_valid() and form2.is_valid() and form3.is_valid():
            form.save()
            form3.save()
            form2.save()
            return redirect('adminview:save_page')
        else:
            diccionario=request.POST
            print('es invalido: ', diccionario)
        return redirect('adminview:edit_design')
    contexto = {'form':form,
                'form2':form2,
                'form3':form3,
                'members':members,
                'design':design,
                'enterprise':enterprise,
                'contact':contact,
                'indexPage':indexPage,
                }
    return render(request, 'adminview/edit_design.html', contexto)

Если вы поможете мне, я буду признателен ...

Спасибо!.

1 Ответ

1 голос
/ 02 июля 2019

Так что после некоторого поиска я обнаружил, что <input type="date"> поддерживается только в некоторых браузерах и версиях, взгляните по этой ссылке: w3schools показывает совместимость.

также существует формат, который атрибут attrribute будет принимать в дату, когда он YYYY-MM-DD Я узнал об этом в другом вопросе о SO, проверьте этот ответ: Как установить значение по умолчанию для ввода [type = «date”]

Итак, я полагаю, вы должны проверить данные за дату, которая попадает на html-страницу через представление, и формат.

...