画像をアップロードしようとしています。これは、ユーザーのプロフィールのアバター画像です。Django画像アップロードの問題
現在のところ、フォームでエラーは返されませんが、データベースまたはフォルダ/ media/avatar /には何も書かれていません。
どういうところが間違っていますか?
マイビュー:
def view_avatar(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES, instance=request.user.profile)
if form.is_valid():
form.save()
else:
form = UploadFileForm(instance=request.user.profile)
return render(request, 'avatar.html', locals())
マイ形式:
class UploadFileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ('avatar',)
マイモデル:あなたが使用しているフォームがforms.Form
から継承されているためです
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
birthdate = models.DateField(null=True, blank=True)
avatar = models.ImageField(upload_to='media/avatar/', blank=True, null=True)
コードにフォームの検証後に 'form.save()'を追加しましたか?あなたが提供するコードではありません。 –
このコードには該当しません。しかし、私がそれを追加すると、私はエラーが発生します:UploadFileForm 'オブジェクトに属性' save 'がありません。今すぐコードを更新します。 – GrandGTO
'ModelForm'を使うかカスタム保存メソッドを書くべきです。 'forms.Form'には保存メソッドがありません。そのため、このエラーが発生しています。 –