This is my views.py
def user_profile(request):
if request.user.is_authenticated:
if request.method == "POST":
fm = EditUserProfileForm(request.POST, instance=request.user)
if fm.is_valid():
messages.success(request,'Profile updated')
fm.save()
else:
if request.user.is_superuser == True:
fm = EditAdminProfileForm(instance = request.user)
else:
fm = EditUserProfileForm(instance=request.user)
return render(request,'enroll/profile.html',{'name':request.user,'form':fm})
else:
return HttpResponseRedirect('/login/')``
This error is coming-
Exception Type:- ValueError
Exception Value:-The view enroll.views.user_profile didn't return an HttpResponse object. It returned None instead.
You did not cover the case where request.user.is_authenticated is True, but the request.method is not a POST request:
def user_profile(request):
if request.user.is_authenticated:
if request.method == 'POST':
fm = EditUserProfileForm(request.POST, instance=request.user)
if fm.is_valid():
messages.success(request, ‘Profile updated’)
fm.save()
else:
if request.user.is_superuser == True:
fm = EditAdminProfileForm(instance = request.user)
else:
fm = EditUserProfileForm(instance=request.user)
return render(request, 'enroll/profile.html' ,{'name':request.user, 'form' :fm})
else:
# ... case not covered yet (!)
pass
else:
return HttpResponseRedirect('/login/')
You thus should implement logic that will return a HttpResponse for the case with the exclamation mark (!).