1
フォームを使用してユーザープロフィール画像をアップロードしようとしているときに、ユーザーがアカウント情報を編集できるようになっても何も起こりません。フォームを送信した後に画像がアップロードされない
このアップロード作業を行うには、どうすればよいか分かりません。
models.py:
class UserProfile(models.Model):
objects = models.Manager()
user = models.OneToOneField(User)
image = models.ImageField(upload_to='profile_image', blank=True)
def __str__(self):
return self.user.username
forms.py:
class EditProfileForm(forms.ModelForm):
class Meta:
model = UserProfile
fields = (
'image',
)
views.py:
def edit_profile(request):
if request.method == 'POST':
form = EditProfileForm(request.POST, instance=request.user.userprofile)
if form.is_valid():
form.save()
return redirect(reverse('accounts:view_profile'))
else:
form = EditProfileForm(instance=request.user.userprofile)
args = {'form': form}
return render(request, 'accounts/edit_profile.html', args)
settings.py:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'mainapp/media')
編集profile.html:
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
私はそれを試しましたが、フォームを送信した後も選択した画像で何も起こっていません。 –
@rchtp更新された回答。これをチェックしてください:) – Beomi
@Boemi残念ながら、まだ何もありません。( –