Django正在尝试使用表单添加图像

Django正在尝试使用表单添加图像,django,django-models,django-forms,django-views,django-templates,Django,Django Models,Django Forms,Django Views,Django Templates,我有两种不同形式的模型。一个模型有另一个模型的外键,形成1-N关系。问题是,当我尝试添加图像时,它不起作用。我更改(名称/TabletForm2)的表单正在工作,因此,仅当我尝试添加(image/tabletformagem)时,该表单才不工作 问题是 我的型号的 def get_图像(实例,文件名): 返回os.path.join('interfercao/fotografias',str(instance.interfercao),文件名) 类(models.Model): name=mod

我有两种不同形式的模型。一个模型有另一个模型的外键,形成1-N关系。问题是,当我尝试添加图像时,它不起作用。我更改(名称/TabletForm2)的表单正在工作,因此,仅当我尝试添加(image/tabletformagem)时,该表单才不工作

问题是

我的型号的

def get_图像(实例,文件名):
返回os.path.join('interfercao/fotografias',str(instance.interfercao),文件名)
类(models.Model):
name=models.CharField(verbose_name=“name”,max_length=200,blank=True,null=True)
Imagem类(models.Model):
INTERVICECAO=models.ForeignKey(INTERVICECAO,相关的_name='INTERVICECAOBJECTSIMAGE',在_delete=models.CASCADE上)
imagem=models.ImageField(上传到=get\u image,blank=True,null=True,verbose\u name=“Fotografia”)
定义(self):
返回str(self.cao)
我的观点

def项目详细信息(请求、主键):
form=TabletForm2(request.POST)
form2=TabletFormImagem(request.POST、request.FILES)
如果request.method==“POST”:
如果form.is_有效():
form.save()
返回重定向('索引')
其他:
form=TabletForm2(request.POST)
如果form2.是否有效():
//当我在这里打印一些东西以查看form2是否有效时,请不要在这里输入。
表格2.save()
返回重定向('索引')
其他:
form2=表格格式图像()
上下文={
“形式”:形式,
“form2”:form2,
}
返回渲染(请求“tablet/info_chefes.html”上下文)
tablet/info_chefes.html


姓名:
{{form.name}
{%csrf_令牌%}
{{form2.as_p}}
上传
表格

class TabletForm2(forms.ModelForm):
类元:
模型=CAO
字段=['data\u\u fim','ferramenta']
类TabletFormImagem(forms.ModelForm):
类元:
模型=图像
字段=['imagem']
HTML


姓名:
{{form.name}
{%csrf_令牌%}
{{form2.as_p}}
上传

return redirect('index')和return redirect('home')为什么?这是另一个错误,我忘了在那里更改,我已经更新了问题Yeh工作得很好,我的错误是有两个我不需要的表单。谢谢!!!我现在注意到,当插入数据时,如果不放置任何图像,它仍然会创建一个空对象
def project_detail_chefe(request, pk):
    form = TabletForm2()
    form2 = TabletFormImagem()
    if request.method == "POST":
        form = TabletForm2(request.POST)
        form2 = TabletFormImagem(request.POST, request.FILES)
        if form.is_valid() and form2.is_valid():
            instance_form1 = form.save()
            instance_form2 = form2.save(commit=False)
            instance_form2.intervencao = instance_form1
            instance_form2.save()
            return redirect('index')
        else:   
            form = TabletForm2()
            form2 = TabletFormImagem()
    context = {
        'form':form,
        'form2':form2,
    }
    return render(request, 'tablet/info_chefes.html', context)
<form method="post" enctype="multipart/form-data">
    <div class="col-md-12">
       <div class='form-group'>
        <label for="{{ form.subject.id_for_label }}" id="titulo">Name:</label>
          <em>{{ form.name}}</em>
       </div>
    </div>
    <div class="col-md-12">
           {% csrf_token %}
           {{ form2.as_p }}
           <button type="submit">Upload</button>
    </div>
</form>