Как сохранить форму с помощью Input type = "datetime-local" In Django - PullRequest
0 голосов
/ 03 октября 2018

В моей форме у меня есть поле ввода ENDDATE AND TIME , но когда я выбираю дату и время окончания и даю подтверждение, форма не действительна.Здесь я упомянул мои HTML, views.py models.py и form.py.Я не понимаю, почему это происходит, поэтому, пожалуйста, помогите мне сделать это.

HTML

<label>End Date & Time</label>
  <div >
     <input class="form-control" id="party"  type = "datetime-local" name="end_date">
   </div> 

Views.py

def event(request):
    if request.method == 'POST':
        form = EventForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            messages.success(request, "Insertion Success!")
            return redirect('/event')
        else:

            messages.success(request,"You missed to fill some fields!")
            return HttpResponse(form)

form.py

class EventForm(forms.ModelForm):
   class Meta:
       model = Events
       fields = ['end_date']
       widgets = {
        'end_date': DateTimeInput(attrs={'type': 'datetime-local'}),
}

models.py

class Events(models.Model):
    end_date =models.DateTimeField(auto_now=False,blank=True)

1 Ответ

0 голосов
/ 03 октября 2018
  <div >
     <input class="form-control" id="party"  type = "datetime-local" name="end_date">
   </div> 

Этот код должен включать форму шаблон для отображения формы

Измените код на этот:

<form>
{% csrf_token %}
{{ form.as_p  }}
</form>

При изменении вида события используйте что-то вроде этого кода:

from .forms import EventForm 
def event(request):
    if request.method == 'POST':
        form = EventForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            messages.success(request, "Insertion Success!")
            return redirect('/event')
        else:

            messages.success(request,"You missed to fill some fields!")
            return HttpResponse(form)

    else:
        form=EventForm()
        return render(request,'your template name ',context={'form':form})
...