django один запрос.проверка is_ajax() и несколько форм

#python #django #django-views #django-forms

#python #django #django-представления #django-forms

Вопрос:

итак, у меня есть этот код, который проверяет, есть ли ajax-запрос, а затем обрабатывает содержимое формы, если оно есть, но моя проблема в том, что каждый раз проверять его несколько раз, как вы увидите в коде, который я добавлю, я хочу проверить только один раз, а затем сказать, есть лиform_1 что-то делает, если form_2 что-то делает
, вот код:

    if request.is_ajax():
       Form1 = form_1(request.POST)
       if form_1.is_valid():
          # do some stuff
       else:  
         # do some stuff)

   if request.is_ajax():
       Form2 = form_2(request.POST)
       if form_2.is_valid():
          # do some stuff
       else:  
         # do some stuff
  

то, что я хочу сделать, это что-то вроде этого или альтернатива следующему:

    if request.is_ajax():
      if it's form1:
         # do form1 stuff
      elif it's form2:
         # do form2 stuff


  

Ответ №1:

Почему бы не передать форму в качестве параметра запроса, что-то вроде:

 if request.is_ajax() and request.GET.get('form1'):
    ...

elif request.is_ajax() and request.GET.get('form2'):
    ...

else:
    ...
  

Комментарии:

1. почему вы использовали GET вместо POST

2. Может быть любым, это тот же код — просто замените GET на POST .