我有一个模特:
class PartnerPrefs(models.Model):
partner = models.ForeignKey(Partner)
theme = models.IntegerField()
email = models.EmailField()
logo_file = models.ImageField(upload_to='logos/')
我的表格:
class PartnerPrefsForm(ModelForm):
theme = forms.ChoiceField(
choices=THEME_CHOICE,
widget=forms.Select(),
initial='1',
)
class Meta:
model = PartnerPrefs
exclude = ('partner',)
我的意见:
...
if request.method == 'POST':
prefsform = PartnerPrefsForm(request.FILES, request.POST)
if prefsform.is_valid():
# do stuff
最后我的模板:
<form enctype='multipart/form-data' form action='.' method='post'>
{% csrf_token %}
{{ prefsform.as_p }}
<input type="submit" value="Submit" />
</form>
每当我提交表单时,所有字段都会返回 This field is required...
. 如果我从表单中删除 ImageField
,那么它工作正常 . 我找不到问题所在 .
这里的任何帮助将不胜感激 .
1 回答
问题结果是
request.POST
和request.FILES
传递给from的顺序 .request.POST
必须先行 .