2017-02-02 16 views
0

У меня есть скрытая форма в шаблоне Dajngo (1.10) и вы хотите передать данные в views.py. Я следовал обычным способом, но результат получения данных - ничто. Не могли бы вы посоветовать, что пошло не так, и как это исправить? Большое спасибо. Код, как показано ниже для справки:Django Views Получить данные POST

шаблона:

 <form style="display: hidden" action="/exRpt/" method="POST" id="#form99"> 
      {% csrf_token %} 
      <input type="hidden" id="var199" name="var199" value=""/> 
      <input type="hidden" id="var299" name="var299" value=""/> 
     </form> 
<script> 
     $(document).on('click', '.exWord', function(){ 
      $("#var199").val("ExWord"); 
      $("#var299").val("1,4,10"); 


      $("#form99").submit(); 
      window.location.href = "/exRpt/" 
     }); 
</script> 

views.py:

def exRpt(request): 
    in_type = request.POST.get('var199') 
    in_news = request.POST.get('var299') 
    ... 
    response = HttpResponse(f.getvalue(), content_type='application/vnd.ms-word') 
    response['Content-Disposition'] = 'attachment; filename=SelectedNewsReport.docx' 
    return response 
+0

Я думаю, что ваш скрипт не выполняется в этом коде, поэтому форма не получает эти значения. –

+1

Вы не должны включать '#' в идентификатор формы: '

' – Alasdair

+0

@Alasdair прав. Ваш JS-код не выбирает форму, поэтому вы не отправляете на просмотр. Это запрос на получение (из вашего оператора 'window.location.href', который вам не нужен, если подача работает правильно). Для подтверждения вы можете распечатать 'request.method' в своей функции просмотра. Обновите идентификатор, упомянутый @alasdair, и он должен работать правильно. – sundance

ответ

0

будет same input с той же детали вы должны changone из них, а затем с javascript набором вал.