0
Dajngo(1.10)テンプレートに隠れたフォームがあり、データをviews.pyに渡したいと思います。私は通常の方法に従ったが、データを取得した結果は何もない。あなたは何が間違っていたのか、それを修正する方法をアドバイスできますか?どうもありがとう。コードは、参考のために以下の通りです:Djangoビュー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
あなたのスクリプトはそのコードで実行されていないと思いますので、フォームはそれらの値を取得していません。 –
フォームのid: '
@Alasdairに '#'を含めないでください。あなたのJSコードはフォームを選択していないので、ビューに投稿していません。これは、あなたの 'window.location.href'ステートメントからのgetリクエストです。このステートメントは、送信が正しく機能している場合には必要ありません。あなたのview関数で 'request.method'を出力することを確認するために。 @alasdairのようにIDを更新すれば正しく動作するはずです。 – sundance