Поэтому я пытаюсь создать простое представление, которое позволяет пользователю изменять свой аватар с помощью отправки формы. Визуализация представления перед запросом POST работает нормально, однако, когда пользователь отправляет новый файл изображения через отправку формы, я получаю следующую ошибку:
Value Error at /
The view dashboard.views.index didn't return an HttpResponse object. It returned None instead.
Ниже приведен фрагмент из моего view.py
@login_required(login_url='/accounts/login/')
def index(request):
if request.method == 'POST':
if 'imagefile' in request.POST:
form = forms.AvatarUpdate(request.POST, request.FILES)
if form.is_valid():
image = request.FILES['image']
request.user.avatar = image
request.user.save()
return redirect('/')
else:
form = forms.AvatarUpdate()
return render(request, 'dashboard/index.html', {"this_page": "home", "form": form})
Хотя forms.py
выглядит следующим образом:
class AvatarUpdate(forms.Form):
imagefile = forms.ImageField(widget=forms.FileInput(attrs={'name': "imagefile"}), label="Change user avatar")
Я хочу сказать, что модель будет сохранена только в том случае, если запрос POST содержит переменную imagefile
. Как мне go решить проблему?