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

request.POST問題は、 とrequest.FILESが from に渡される順序であることが判明しました。request.POST最初に行かなければなりません。

于 2013-05-17T03:16:12.710 に答える