You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django提交GET表单后无法获取HTML输入框的参数值如何解决?

问题核心原因

  • 提交的表单未携带对应参数,后端自然无法取值,具体有两类常见错误:
    1. 三个输入框<input>元素写在了<form>闭合标签外,表单提交时只会收集标签内部的输入内容
    2. 输入框未设置与后端取值对应的name属性:必须给纯文本输入框加name="client-name"、两个日期输入框分别加name="start-date"和name="end-date",name属性是前后端参数匹配的唯一标识,id、class属性不影响参数传递

补充冗余点说明

你使用GET方法提交表单时,{% csrf_token %}是多余的,Django的CSRF校验仅针对POST等修改类请求,不会校验GET请求,该内容不影响参数取值,可选择性删除。

修正后的表单示例代码

<form action="{% url 'get-billing'%}" method="GET">
  <!-- 输入框必须放在form内部,且配置对应name属性 -->
  <input type="text" name="client-name" placeholder="输入客户名称">
  <input type="datetime-local" name="start-date">
  <input type="datetime-local" name="end-date">
  <button type="submit" value="click" class="btn btn-warning btn-sm fs-6">Submit</button>
</form>

验证方法

提交表单后查看浏览器地址栏,正常会显示类似your-domain/get_billing?client-name=测试客户&start-date=2024-05-01T10:00&end-date=2024-05-10T18:00的格式,如果URL中没有三个对应参数,说明前端表单配置仍有问题。

内容的提问来源于stack exchange,提问作者Chris Ward

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:15:03