Как получить поле типа = времени в DJango

#django #forms

#django #формы

Вопрос:

Я пытаюсь использовать ввод type = time в Django. Но каждый раз, когда мой type = text . Я пробовал это:

 field_name = forms.TimeField()
<!--return-->
<input type="text" name="field_name" required id="id_field_name">
  

это:

 time_st = forms.TimeField(widget=forms.TimeInput(format='%H:%M'))
<!--return-->
<input type="text" name="time_st" value="" required id="id_time_st">
  

Как получить такой эффект:

 <input type="time" id="appt" name="appt" class="form-control" required>
  

Ответ №1:

Прошу прощения, если это не тот ответ, который вы ищете, я пытался расшифровать ваш вопрос.

Итак, у вас есть форма, которая выглядит примерно так:

 class MyForm(forms.Form):
   time = forms.TimeField()
  

Это ваша базовая форма django, в которой есть поле с именем time .

В вашем представлении django вам понадобится что-то вроде следующего, которое проанализирует форму, сделав ее «пригодной для использования».

 def form_handler(request):
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            print(form.valid_data['time'])
            return redirect('valid_time_url_redirect')
        return ... # failure of validation see form.errors
    form = MyForm()
    return render('django_template.html', {'form': form})
            
        
            
  

Вероятно, это недопустимый код, но, надеюсь, он укажет вам правильное направление относительно того, что вам нужно делать.

  • Как в моделях, так и в классах form есть поля TimeField и DateTimeField. Убедитесь, что вы используете правильное поле для вашего использования. Также убедитесь, что вы взглянули на ожидаемые входные данные для каждого поля. Посмотрите на time_input_formats, это обычная ошибка для использования этих полей.