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

Django自定义表单无法获取POST变量问题求助

解决Django自定义表单POST变量无法获取的问题

你的问题根源是所有表单输入字段都缺少name属性。HTML规范中,只有带有name属性的表单控件,其值才会被浏览器提交到服务器;id属性仅用于前端DOM操作或标签关联,不参与表单数据的提交。

修复步骤:

给每个<input>标签添加name属性,属性值可与id保持一致,修改后的表单代码如下:

<div class="row justify-content-center">
    <div class="form-group col-md-6">
        <form action="{% url 'generate-pdf' %}" method="POST">
            {% csrf_token %}
            <label>Nom</label>
            <input type="text" class="form-control" id="first_name" name="first_name" value="{{ property.name }}" required>
            <label>Prénom</label>
            <input type="text" class="form-control" id="last_name" name="last_name" value="{{ property.last_name }}" required>
            <label>Email</label>
            <input type="email" class="form-control" id="email" name="email" value="{{ property.email }}" required>
            <label>Texte du loyer</label>
            <input type="text" class="form-control" id="rent_text" name="rent_text">
            <label>Loyer</label>
            <input type="number" step="0.01" lang="en" class="form-control" id="rent" name="rent" value="{{ property.rent }}" onkeyup="add_number()" required>
            <label>Provision</label>
            <input type="text" class="form-control" id="provision" name="provision" onkeyup="add_number()" value="0" required>
            <label>Total du loyer</label>
            <input type="text" class="form-control" id="total" name="total" value="{{ property.rent }}" required>
            <div class="row">
                <div class="col-md-4">
                    <label>Début de la période</label>
                    <input type="date" class="form-control" id="first_date" name="first_date">
                </div>
                <div class="col-md-4">
                    <label>Fin de la période</label>
                    <input type="date" class="form-control" id="last_date" name="last_date">
                </div>
                <div class="col-md-4">
                    <label>Date du paiement</label>
                    <input type="date" class="form-control" id="paiement_date" name="paiement_date">
                </div>
            </div>
            <button type="submit" class="btn btn-primary">Envoyer</button>
        </form>
    </div>
</div>

验证修复:

修改后重新提交表单,在视图中即可通过request.POST.get('first_name')、request.POST.get('rent')等方式获取对应字段的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 20:58:27