Как получить доступ к входному значению в форме CreateView с помощью Django?

#django

#django

Вопрос:

Допустим, у меня есть форма для создания животного (имя, цвет …), как получить доступ к входному значению и отобразить его (после отправки формы) на той же странице формы.

Я пытался :

 class AnimalCreate(CreateView):
  model = Animal
  form_class = AnimalForm
  success_url = 'main_site/success.html'
  def get_context_data(self, **kwargs):
    color = ?? # how to get the value of the color input ?
    context = super(AnimalCreate, self).get_context_data(**kwargs)
    context['color'] = color
    return context
  

Ответ №1:

Попробуйте этот способ:

 def get_context_data(self, **kwargs):
    if self.request.method == 'POST':
        color = self.request.POST.get('color')
  

Ответ №2:

Если это стандартная форма Django HTML, попробуйте получить параметры с помощью self.request.POST .

В противном случае, если вы работаете с Django Rest Framework или отправляете данные JSON вместо формы, попробуйте self.request.data .