Python 此字段必填。Django上的ImageField和FileField出错
我是Django的新手,我正在使用Django 1.6.1,在我的一个表单中,我得到了下一个错误Python 此字段必填。Django上的ImageField和FileField出错,python,django,forms,model,Python,Django,Forms,Model,我是Django的新手,我正在使用Django 1.6.1,在我的一个表单中,我得到了下一个错误 This field is required. 我不明白为什么会出现这个错误,我的表单非常基本,所以我的模型,引发这个错误的语句是form.is_valid(),但我不知道为什么。 一些帮助将是非常感谢的 我的看法是: if request.method == 'POST': form = campoImagenForm(request.POST, request.FILES)
This field is required.
我不明白为什么会出现这个错误,我的表单非常基本,所以我的模型,引发这个错误的语句是form.is_valid(),但我不知道为什么。
一些帮助将是非常感谢的
我的看法是:
if request.method == 'POST':
form = campoImagenForm(request.POST, request.FILES)
if form.is_valid():
articulo = form.save(commit=False)
articulo.item = item
articulo.atributo = atributo
articulo.save()
return HttpResponseRedirect('/workproject/' + str(project.id))
我的表格是:
class campoImagenForm(forms.ModelForm):
class Meta:
model = campoImagen
fields = ('imagen',)
我的模型是:
class campoImagen(models.Model):
item = models.ForeignKey(ItemBase)
atributo = models.ForeignKey(TipoItem)
imagen = models.ImageField(verbose_name='Imagen', upload_to='archivos')
version = models.IntegerField()
我不知道我为什么会犯这样的错误 首先,在模型中,将字段设置为空且可为空:
class campoImagen(models.Model):
# [...]
imagen = models.ImageField(verbose_name='Imagen', upload_to='archivos', null=True, blank=True)
然后在模型表单中,更改字段的必需
参数:
class campoImagenForm(forms.ModelForm):
class Meta:
model = campoImagen
fields = ('imagen',)
def __init__(self, *args, **kwargs):
super(campoImagenForm, self).__init__(*args, **kwargs)
self.fields['imagen'].required = False
然而,模型部分是强制性的。否则,可能会出现数据库不一致性错误
记住,和是不同的东西。然而,它们确实能很好地协同工作,应该能满足您的需求。在forms.py中
class campoImagenForm(forms.ModelForm):
imagen = forms.ImageField(verbose_name='Imagen', upload_to='archivos', required = False)
class Meta:
model = campoImagen
fields = ('imagen',)