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

在Django中通过下拉菜单选项传递URL参数是否可行?

这种实现方式完全可行

这种用<select>下拉菜单替代文本输入框,通过GET表单传递参数的方式是完全没问题的,和你之前用文本输入框的逻辑本质一致——表单提交时,所有带name属性的表单控件的value值都会被拼接成URL查询参数,发送到action指定的地址。

补充说明:

  • 只要后端代码能正确解析units和language这两个查询参数,就能正常获取用户选择的值
  • 你提供的示例代码里有个小bug:<select name="language">里多了一个多余的</option>标签,得删掉,不然可能导致页面渲染出问题

修正后的完整示例代码:

<form action="" method="GET">
  <div class="units-div">
    <label for="units">Units:</label>
    <select name="units" id="units-selection">
      <option value="metric">Metric</option>
      <option value="imperial">Imperial</option>
    </select>
  </div>
  <div class="language-div">
    <label for="language">Language:</label>
    <select name="language" id="language-selection">
      <option value="english">English</option>
      <option value="italian">Italian</option>
    </select>
  </div>
  <!-- 建议加个提交按钮,方便用户触发提交 -->
  <button type="submit">提交</button>
</form>

如果想让用户选择选项后自动提交表单,不用点按钮,可以加一段简单的JS:

// 获取所有下拉菜单
const selects = document.querySelectorAll('select');
selects.forEach(select => {
  select.addEventListener('change', function() {
    // 提交当前表单
    this.form.submit();
  });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:01:16