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

Django中HTML传递GET参数到View取值为None如何解决

问题原因
  • GET查询参数的分隔符使用错误,多个参数之间必须使用&分隔,不能使用逗号,
  • 查询字符串存在多余的无效空格:?后、参数名与等号之间、等号与参数值之间的空格会被识别为参数名/值的一部分,导致实际生成的参数名为带空格的date,和后端读取的无空格参数名date不匹配,所以返回None
修复方案

直接修改HTML中a标签的href属性,调整为符合GET参数规范的写法:

<a href="{% url 'pba_defect_xls' %}?date={{ date }}&date1={{ date1 }}" class="btn btn-success"  style="float:right;">Export Excel</a>

如果需要兼容参数中存在特殊字符的场景,可以额外加上Django的urlencode过滤器,写法更稳妥:

<a href="{% url 'pba_defect_xls' %}?date={{ date|urlencode }}&date1={{ date1|urlencode }}" class="btn btn-success"  style="float:right;">Export Excel</a>

修改完成后重新运行,后端即可通过原有代码正常获取到date和date1的参数值,后续直接写xlwt导出Excel的逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 19:15:03