0

我有一个模型:

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,那么它工作正常。我找不到问题所在。

4

1 回答 1

0

问题原来是传递给 fromrequest.POST的顺序。必须先走。request.FILESrequest.POST

于 2013-05-17T03:16:12.710 回答