django模型表单数据未保存到数据库

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

我正在尝试将表单数据保存到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.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)