django模型表单数据未保存到数据库
我正在尝试将表单数据保存到DB,但无法保存。我也没有收到任何错误。这是我的表格.py:django模型表单数据未保存到数据库,django,django-models,django-views,django-forms,django-templates,Django,Django Models,Django Views,Django Forms,Django Templates,我正在尝试将表单数据保存到DB,但无法保存。我也没有收到任何错误。这是我的表格.py: def create_lead(request): form = LeadForm() if request.method == 'POST': form = LeadForm(request.POST) print(form.data) if form.is_valid(): first_name = form.clea
def create_lead(request):
form = LeadForm()
if request.method == 'POST':
form = LeadForm(request.POST)
print(form.data)
if form.is_valid():
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
age = form.cleaned_data['age']
city = form.cleaned_data['city']
country = form.cleaned_data['country']
email = form.cleaned_data['email']
status = form.cleaned_data['status']
agent = form.cleaned_data['agent']
avatar = form.cleaned_data['avatar']
lead = Lead(
first_name=first_name,
last_name=last_name,
age=age,
city=city,
country=country,
email=email,
status=status,
agent=agent,
avatar=avatar
)
lead.save()
return redirect('/all')
return render(request, 'create.html', {'form': LeadForm})
我甚至试着像这里提到的那样直接创建一个模型:但它没有帮助
def create_lead(request):
form = LeadForm()
if request.method == 'POST':
form = LeadForm(request.POST)
print(form.data)
if form.is_valid():
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
age = form.cleaned_data['age']
city = form.cleaned_data['city']
country = form.cleaned_data['country']
email = form.cleaned_data['email']
status = form.cleaned_data['status']
agent = form.cleaned_data['agent']
avatar = form.cleaned_data['avatar']
Lead.objects.create(
first_name=first_name,
last_name=last_name,
age=age,
city=city,
country=country,
email=email,
status=status,
agent=agent,
avatar=avatar
)
return redirect('/all')
return render(request, 'create.html', {'form': LeadForm})
这是我的forms.py:
class LeadForm(forms.ModelForm):
class Meta:
model = Lead
fields = '__all__'
模型如下:
class Lead(models.Model):
lead_status = (
('Potential', 'Potential'),
('Prospect', 'Prospect'),
('Negotiation', 'Negotiation'),
('Converted', 'Converted'),
('Failed', 'Failed')
)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
age = models.IntegerField(default=0)
city = models.CharField(max_length=25, null=True)
country = models.CharField(max_length=30, null=True)
email = models.EmailField(max_length=50, null=True)
agent = models.ForeignKey('Agent', on_delete=models.CASCADE, null=True)
status = models.CharField(max_length=15, choices=lead_status, null=True)
avatar = models.ImageField(null=True, upload_to='media')
def __str__(self):
return self.first_name
这是HTML
<form method="POST" action="." enctype="multipart/form-data">
{% csrf_token %}
{{form.as_p}}
<button type="submit">Submit</button>
</form>
{%csrf_令牌%}
{{form.as_p}}
提交
您正在保存一个文件,因此您还必须将request.FILES
添加到表单中
form=LeadForm(request.POST、request.FILES)