Обработка формы select - Python

Узнай цену своей работы

Формулировка задачи:

есть форма селект. не могу никак получить из нее выбранные значения. Суть в том чтобы вьюха получила выбранное значение - вернула html с аргументом. html
Листинг программы
  1. <form name="doc_tip" action="/tips/" method="post">{% csrf_token %}
  2. <p><select>
  3. <optgroup label="Договорная">
  4. <option value="r1" name="r1" id="r1">Доходный</option>
  5. <option value="r2" name="r2" id="r2">Расходный</option>
  6. <option value="r3" name="r3" id="r3">Разное</option>
  7. </optgroup>
  8. <optgroup label="Инф-справоч">
  9. <option value="t1" name="t1" id="t1">СЗ</option>
  10. <option value="t2" name="t2" id="t2">Заявка</option>
  11. <option value="t3" name="t3" id="t3">Разное</option>
  12. </optgroup>
  13. </select></p>
  14. <p>
  15. <input type="radio" value="r11">dohod <br>
  16. <input type="radio" value="r22">rashod
  17. </p>
  18. <p><input type="submit" value="Send"></p>
  19. </form>
вьюха которая не работает ( посути пишет, что я не возвращаю html (так как в цикле нету else), но я и не получаю из формы ничего кроме csrf токена)
Листинг программы
  1. def tips(request):
  2. args = {}
  3. args.update(csrf(request))
  4. args['trueq_create'] = 1
  5. args['trueqq'] = 1
  6. args['username'] = auth.get_user(request).username
  7. if request.method == 'POST':
  8. if 'r1' in request.POST:
  9. args['trueq_tips1'] = 1
  10. return render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
  11. elif 'r2' in request.POST:
  12. args['trueq_tips2'] = 1
  13. return render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
  14. elif 'r11' in request.POST:
  15. args['trueq_tips1'] = 1
  16. return render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
  17. elif 'r22' in request.POST:
  18. args['trueq_tips2'] = 1
  19. return render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
  20. else:
  21. return redirect('/')

Решение задачи: «Обработка формы select»

textual
Листинг программы
  1. def create_karto(request):
  2.     args = {}
  3.     args.update(csrf(request))
  4.     if request.method == 'POST':
  5.         if request.POST and ("pause" not in request.session):
  6.             form = CreateKarto(request.POST)
  7.             if form.is_valid():
  8.                 instances = form.save()
  9.                 request.session.set_expiry(60)
  10.                 request.session['pause'] = True
  11.                 args['create_done'] = 1
  12.                 render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
  13.             else:
  14.                 redirect('/docsup/', args)
  15.         else:
  16.             redirect('/docsup/', args)
  17.     else:
  18.         redirect('/docsup/', args)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут