无法从默认值更新django图像
我有一个django的图像上传功能。但是,无法上载图像。页面将重定向到successURL。我不明白原因 该视图是当前视图,因为它使用多个表单无法从默认值更新django图像,django,django-forms,Django,Django Forms,我有一个django的图像上传功能。但是,无法上载图像。页面将重定向到successURL。我不明白原因 该视图是当前视图,因为它使用多个表单 #view def UserEdit(request): if request.method == 'POST': form = forms.UserUpdateForm(request.POST, instance=request.user) subform = forms.ProfileUpdateForm(request.POS
#view
def UserEdit(request):
if request.method == 'POST':
form = forms.UserUpdateForm(request.POST, instance=request.user)
subform = forms.ProfileUpdateForm(request.POST, instance=request.user.profile)
if all([form.is_valid(), subform.is_valid()]):
user = form.save()
profile = subform.save()
return redirect('person:myaccount', username=request.user)
else:
form = forms.UserUpdateForm(instance=request.user)
subform = forms.ProfileUpdateForm(instance=request.user.profile)
return render(request, 'accounts/accounts_edit.html', {
'form': form,
'subform': subform,
})
#html
{%csrf_令牌%}
{{form}}
{{subform}}
提交
提问前请先阅读。第二句话说“处理此表单的视图将接收request.FILES中的文件数据”'subform=forms.ProfileUpdateForm(request.POST,request.FILES,instance=request.user.profile)'!非常感谢你。我得救了。
#form
class UserUpdateForm(forms.ModelForm):
#...
class ProfileUpdateForm(forms.ModelForm):
class Meta:
model = profile
fields = ('first_name','last_name','birthday','image',)
#model
class profile(models.Model):
image = models.ImageField(upload_to='profile/',default='profile/default.jpg')
#html
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="text-center col-lg-6 col-md-6 col-sm-10 mx-auto">
<div class="form-group">
{{ form }}
</div>
<div class="form-group">
{{ subform }}
</div>
<button type="submit" class="fadeIn fourth btn btn-light">Submit</button>
</div>
</form>