4

私はモデルでこれを持っています

image_name = models.ImageField(upload_to='accounts/')

私の見解では、

def account_form(request):
    if request.method == 'POST': # If the form has been submitted...
        form = AccountForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
                form.save()
                return HttpResponseRedirect('/thanks/') # Redirect after POST
    else:
        form = AccountForm() # An unbound form

    return render_to_response('account_form.html', {
            'form': form,
    })

画像を保存するために追加のコーディングを行う必要がありますか、それとも django 自体が行いますか

4

2 に答える 2

19

また、フォームenctypeがファイル データを送信するように HTML で設定されていることを確認してください。

<form action="..." method="POST" enctype="multipart/form-data">
于 2011-06-27T06:16:15.890 に答える
18

request.FILESアカウントフォームにも渡す必要があります。

form = AccountForm(request.POST, request.FILES) # A form bound to the POST data

参照: https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#the-save-method

save()およびsave_m2m()メソッド以外では、 aModelFormは他のフォーム form とまったく同じように機能します。たとえば、is_valid()メソッドは有効性をチェックするために使用され、is_multipart()メソッドはフォームがマルチパート ファイルのアップロードを必要とするかどうか (したがってrequest.FILES、フォームに渡す必要があるかどうか)を判断するために使用されます。

于 2011-06-27T06:10:05.090 に答える