【问题标题】:Django template input button post problemDjango模板输入按钮发布问题
【发布时间】:2023-03-27 16:25:01
【问题描述】:

我尝试在 Django 中发布输入按钮的值,但我不能 这是我的模板

<form id="ReviewRateForm" method="post" action="/review/post/rate/">
      <input type="button" hint="V1" title="V" value="1" id="radio{{ forloop.counter }}-1" type="button" name="qid[{{forloop.counter}}]"></input>
      <input type="button" hint="V1" title="V" value="2" id="radio{{ forloop.counter }}-1" type="button" name="qid[{{forloop.counter}}]"></input>
      <input type="button" hint="V1" title="V" value="1" id="radio{{ forloop.counter }}-1" type="button" name="qid[{{forloop.counter}}]"></input>
</form>

但是,当我调试它时,我无法在我的视图中达到该输入按钮的值。

有什么问题或我该如何克服?

【问题讨论】:

  • 您如何尝试访问视图中的值?您是否尝试访问request.POST
  • ... 而且,您为什么在 for 块之外使用 {{ forloop.counter }}?如果你确实有一个 for 块来包装粘贴的代码,你最终会得到所有 3 个输入都具有相同的 nameid。你到底想做什么?
  • @Shawn - 我同意。我不确定 o.p.正在尝试在这里做。
  • 为什么不根据您要解决的问题,而不是根据如何使您的实现(永远不会很好地工作)工作来重新发布这个问题。跨度>
  • @Jordan 我一定会这样做的。对不起,伙计们,我在写那篇文章时牙痛得很厉害,现在我发现它的解释不好。对不起..

标签: django templates post button input


【解决方案1】:

可以通过 request.POST 中的输入名称访问这些值。但是,您正在动态命名输入,这会使您在检索这些值时变得更加复杂。

不考虑动态命名的例子:

quid1 = request.POST.get('quid1')

【讨论】:

    【解决方案2】:

    问题可能出在您的浏览器而不是 django 上。

    如果在 HTML 表单中使用 button 元素,不同的浏览器会提交不同的值。 Internet Explorer 将提交&lt;button&gt;&lt;/button&gt; 标签之间的文本,而其他浏览器将提交 value 属性的内容。

    更新:哦,你没有使用&lt;button&gt;元素,我读得太快了。对不起。那么这个答案是不相关的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-14
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多