Djangoでアプリケーションを作ってた時困った話。
Formを使ってファイルをアップロードしたいのにできなった。
修正前
views.py
def InfoView(request):
form= Form(request.POST or None)
if form.is_valid():
form.save()
return redirect("/complete")
return render(request, 'form.html', {'form': form} )
ファイルを選択してアップロードしてもファイルだけがアップロードされない。(他のテキストなどはDBに保存される)
しらべたらFormの引数に
request.FILES
が必要だったらしい。
修正後
views.py
def InfoView(request):
form= Form(request.POST or None, request.FILES)
if form.is_valid():
form.save()
return redirect("/complete")
return render(request, 'form.html', {'form': form} )
ファイルも一緒に保存されるようになった。