Python 如何解决';LeadForm&x27;对象没有属性';保存';Django中的错误?
我试图通过表单提交数据,但它显示了此错误Python 如何解决';LeadForm&x27;对象没有属性';保存';Django中的错误?,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,我试图通过表单提交数据,但它显示了此错误“LeadForm”对象没有属性“save”,请告诉我如何解决此问题。在过去的4个小时里,我一直处于这种状态,但仍然没有找到解决方案 我在我的网站上有另一个页面,其中打开了一个产品页面,并且有一个表单,当用户提交表单时,他/她的信息应该存储在我的数据库中,但我陷入了这个困境,我提交了很多表单,但我仍然无法解决此错误 这是我的forms.py文件 class LeadForm(forms.Form): class Meta: mode
“LeadForm”对象没有属性“save”
,请告诉我如何解决此问题。在过去的4个小时里,我一直处于这种状态,但仍然没有找到解决方案
我在我的网站上有另一个页面,其中打开了一个产品页面,并且有一个表单,当用户提交表单时,他/她的信息应该存储在我的数据库中,但我陷入了这个困境,我提交了很多表单,但我仍然无法解决此错误
这是我的forms.py
文件
class LeadForm(forms.Form):
class Meta:
model = Leads
exclude = ['lead_for','property_type','status','source','message','user']
fields = ['customer_name', 'customer_email', 'customer_phone']
path('query/sendquery', views.leads, name='leads'),
<form action="{% url 'panel:leads' %}" id="queryform" method="POST">
{% csrf_token %}
<div class="chat-group mt-1">
<input class="chat-field" type="text" name="name" id="customer_name" placeholder="Your name" required="">
</div>
<div class="chat-group mt-1">
<input class="chat-field" type="number" name="customer_phone" id="customer_phone" placeholder="Phone" required="">
</div>
<div class="chat-group mt-1">
<input class="chat-field" type="text" name="email" id="customer_email" placeholder="Email" required="">
</div>
<div class="chat-button mt-3">
<input type="submit" name="submit" value="submit">
</div>
</form>
这是我的views.py
文件代码
def leads(request):
if request.method == 'POST':
form = LeadForm(request.POST)
if form.is_valid():
form.save()
else:
form = LeadForm()
return HttpResponse('Fail')
这是我的url.py
文件
class LeadForm(forms.Form):
class Meta:
model = Leads
exclude = ['lead_for','property_type','status','source','message','user']
fields = ['customer_name', 'customer_email', 'customer_phone']
path('query/sendquery', views.leads, name='leads'),
<form action="{% url 'panel:leads' %}" id="queryform" method="POST">
{% csrf_token %}
<div class="chat-group mt-1">
<input class="chat-field" type="text" name="name" id="customer_name" placeholder="Your name" required="">
</div>
<div class="chat-group mt-1">
<input class="chat-field" type="number" name="customer_phone" id="customer_phone" placeholder="Phone" required="">
</div>
<div class="chat-group mt-1">
<input class="chat-field" type="text" name="email" id="customer_email" placeholder="Email" required="">
</div>
<div class="chat-button mt-3">
<input type="submit" name="submit" value="submit">
</div>
</form>
这是我的leads.html
文件
class LeadForm(forms.Form):
class Meta:
model = Leads
exclude = ['lead_for','property_type','status','source','message','user']
fields = ['customer_name', 'customer_email', 'customer_phone']
path('query/sendquery', views.leads, name='leads'),
<form action="{% url 'panel:leads' %}" id="queryform" method="POST">
{% csrf_token %}
<div class="chat-group mt-1">
<input class="chat-field" type="text" name="name" id="customer_name" placeholder="Your name" required="">
</div>
<div class="chat-group mt-1">
<input class="chat-field" type="number" name="customer_phone" id="customer_phone" placeholder="Phone" required="">
</div>
<div class="chat-group mt-1">
<input class="chat-field" type="text" name="email" id="customer_email" placeholder="Email" required="">
</div>
<div class="chat-button mt-3">
<input type="submit" name="submit" value="submit">
</div>
</form>
您没有将
LeadForm
作为ModelForm
的实例,因此它不知道有关模型的任何信息以及如何保存该模型:
# inherit from ModelForm ↓
class LeadForm(forms.ModelForm):
class Meta:
model = Leads
exclude = ['lead_for','property_type','status','source','message','user']
fields = ['customer_name', 'customer_email', 'customer_phone']
请注意,您排除的字段在模型中应该是可选的,或者您应该在视图中填写一个值。否则,您尝试在没有
用户
、源
、消息
等的情况下保存对象,数据库可能会拒绝此操作。LeadForm
是表单
,而不是模型表单
,因此它无法保存任何内容,由于它不对应于型号。数据库中只需要customer\u name
和customer\u phone
,rest all为空和null,但当我在填写数据后提交表单时,它会重定向到return HttpResponse('Fail'))
提交表单后,我的数据没有在数据库中提交的确切错误是什么..我已经更新了我的models.py
文件,请检查我更新的question@Amit:请不要重定向到失败之类的内容。通常情况下,可以使用表单重新提交模板。您可以通过表单查看错误。错误。我想在“谢谢”页面上发送,但数据未保存在我的数据库中