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

Django中request.POST.get()获取表单值返回None问题求助

表单提交后获取值为None的解决办法
  • 核心问题:你的所有<input>标签都缺少name属性。Django的request.POST是通过表单元素的name属性读取提交值的,而非id属性,这就是你获取到None的原因。

  • 修改HTML表单:给每个<input>添加对应的name属性,示例如下:

<form method="post" action="/contact">
    {% csrf_token %}
    <div class="form-group">
        <label for="name">Name</label>
        <input type="text" class="form-control" id="name" name="name" aria-describedby="name" placeholder="Enter your name">
    </div>
    <div class="form-group">
        <label for="exampleInputEmail1">Email address</label>
        <input type="email" class="form-control" id="email" name="email" aria-describedby="emailHelp" placeholder="Enter email">
        <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
    </div>
    <div class="form-group">
        <label for="Phone">Phone</label>
        <input type="phone" class="form-control" id="Phone" name="phone" placeholder="Enter your phone number">
    </div>
    <div class="form-group">
        <label for="text">Text</label>
        <input type="text" class="form-control" id="Description" name="description" placeholder="Enter your message">
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
</form>
  • 验证views代码:你当前的views.py代码无需修改,只要HTML表单添加了name属性,request.POST.get('name')就能正确获取到用户输入的姓名值。

  • 额外检查点:

    • 确认表单的method属性设置为post(你已经正确设置)
    • 确认模板中已正确包含{% csrf_token %}(你已经添加)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 20:26:03