【问题标题】:Django Views Get POST DataDjango 视图获取 POST 数据
【发布时间】:2017-02-02 18:41:14
【问题描述】:

我在 Dajngo (1.10) 模板中有一个隐藏表单,我想将数据传递给 views.py。我按照通常的方式但是获取数据的结果是什么。你能告诉我出了什么问题以及如何解决它吗?非常感谢。代码如下供参考:

模板:

        <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 中包含 #&lt;form style="display: hidden" action="/exRpt/" method="POST" id="form99"&gt;
  • @Alasdair 是对的。您的 JS 代码没有选择表单,因此您没有发布到视图。这是一个获取请求(来自您的window.location.href 语句,如果提交工作正常,您不应该需要它)。要确认您可以在查看功能中打印出request.method。更新@alasdair 提到的 ID,它应该可以正常工作。
  • 请不要在模板中使用硬编码的url,而是使用{% url %}标签
  • 感谢所有 cmets。是的,愚蠢的我。我不应该把 # 放在表格 id 中!现在它可以工作了。

标签: javascript python django forms


【解决方案1】:

这将是 same input 具有相同的细节,你应该 chang one 他们,然后 javascript 设置 val。

【讨论】:

    猜你喜欢
    • 2016-01-24
    • 2020-05-19
    • 2018-07-25
    • 2023-04-06
    • 2018-10-06
    • 2013-06-25
    • 1970-01-01
    • 2022-01-08
    • 2019-12-08
    相关资源
    最近更新 更多