def post(self, request, *args, **kwargs):
form = self.form_class(request.POST, initial={'email' : request.user.email, 'about' : request.user.userprofile.about})
if form.is_valid():
if form.has_changed():
user = request.user
for field in form.changed_data:
if field == 'email':
if form.cleaned_data[field] != '' and User.objects.filter(email=form.cleaned_data[field]).exclude(id=user.id).exists():
messages.error(request, "Email address is already in use")
return redirect(reverse('ploghubapp:profile'))
setattr(user, field, form.cleaned_data[field])
user.save()
user.userprofile.about = form.cleaned_data['about']
user.userprofile.save()
messages.success(request, "Profile has been updated")
return redirect(reverse('ploghubapp:profile'))
else:
messages.info(request, "Data has not been changed")
return redirect(reverse('ploghubapp:profile'))
else:
messages.error(request, "Invalid form data")
return redirect(reverse('ploghubapp:profile'))
评论列表
文章目录