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