从Django表单的HTML输入元素获取数据

2024-05-19 19:18:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我的模板中有一个设计好的表单,我想用它代替Django表单。我创建了我的模型和视图类以及url,但我不知道如何接收和使用表单的数据。我已经研究过Rendering fields manually,但是我想使用我的表单输入和标签,只需要数据。在

请注意,类和模型工作得很好,如果我在模板中使用{form}}}而不是下面的html代码,我可以使用数据

这是我的班级表单.py公司名称:

class Reserve(forms.Form):
    name = forms.CharField(label='نام و نام خانوادگی', max_length=100)
    phone = forms.CharField(label='شماره تماس', max_length=11)
    email = forms.EmailField(label='ایمیل', max_length=100)
    occasion = forms.CharField(label='مناسبت', max_length=100)
    month = forms.CharField(label='ماه', max_length=100)
    day = forms.CharField(label='روز', max_length=100)
    week = forms.CharField(label='روز هفته')
    time = forms.CharField(label='ساعت', max_length=100)
    message = forms.CharField(label='توضیحات')

这是我在视图.py公司名称:

^{pr2}$

最后是我形式的一部分:

<form method="post" action="{% url 'mang:add-reserve' %}">
                    {% csrf_token %}
                    <div class="form-group ">
                        <label for="name" class="sr-only">Name</label>
                        <input id="name" class="form-control" placeholder="نام و نام خانوادگی" type="text">
                    </div>
                    <div class="form-group ">
                        <label for="phone" class="sr-only">Name</label>
                        <input id="phone" class="form-control" placeholder="موبایل" type="text">
                    </div>
                    <div class="form-group ">
                        <label for="email" class="sr-only">Email</label>
                        <input id="email" class="form-control" placeholder="ایمیل" type="email">
                    </div>
                    <div class="form-group ">
                        <label for="occasion" class="sr-only">occasion</label>
                        <input id="occasion" class="form-control" placeholder="مناسبت" type="text">
                    </div>.......

Tags: divform表单onlyforemailgroupforms
2条回答

请将“name”属性添加到与表单字段匹配的所有HTML输入元素,我认为这将解决您的问题。例如:

 <input id="email" class="form-control" name="email" placeholder="ایمیل" type="email">

上面的输入元素被命名为name=“email”,它与表单email字段相匹配。在

对所有输入元素执行此操作后,应该在中接收数据请求.POST表格会按预期工作。在

我不知道您从哪里得到模板,但是所有字段都缺少重要的name属性。没有这些,浏览器就不会向服务器发送任何数据。在

相关问题 更多 >