Reputation: 339
UserProfile.html
which in urls.py
is user_profile
urls.py
path('user_profile', views.user_profile, name="user_profile"),
views.py
def edit_profile(request):
try:
# checking if the user exist in UserProfile through the logged in email id
user_data = UserProfile.objects.get(emailID = request.user.email)
# if request.method == "POST" and request.FILES:
if request.POST.get('action') == 'post':
name = UserProfile.objects.all()
response_data = {}
# user_img = request.FILES['user_img']
name = request.user.username
emailID = request.user.email
phone = request.POST.get('phone')
college_name = request.POST.get('college_name')
branch = request.POST.get('branch')
# response_data['user_img'] = user_img
response_data['name'] = name
response_data['emailID'] = emailID
response_data['phone'] = phone
response_data['college_name'] = college_name
response_data['branch'] = branch
# updating the current logged in user values
user_data = UserProfile.objects.get(emailID = request.user.email)
if(user_data.emailID == request.user.email):
UserProfile.objects.filter(emailID = request.user.email).update(
name = name,
emailID = emailID,
phone = phone,
college_name = college_name,
branch = branch
)
return redirect('/user_profile')
except UserProfile.DoesNotExist:
name = UserProfile.objects.all()
response_data = {}
# creating new user
if request.POST.get('action') == 'post':
# user_img = request.FILES['user_img']
name = request.user.username
emailID = request.user.email
phone = request.POST.get('phone')
college_name = request.POST.get('college_name')
branch = request.POST.get('branch')
# response_data['user_img'] = user_img
response_data['name'] = name
response_data['emailID'] = emailID
response_data['phone'] = phone
response_data['college_name'] = college_name
response_data['branch'] = branch
try:
# checking if the user exist
user_data = UserProfile.objects.get(emailID = request.user.email)
except UserProfile.DoesNotExist:
# if the user doesn't exist create the user
UserProfile.objects.create(
name = name,
emailID = emailID,
phone = phone,
college_name = college_name,
branch = branch
)
return redirect('/user_profile')
else:
# if the profile is already created fetch the values
context = {
'name' : user_data.name,
'emailID' : user_data.emailID,
'phone' : user_data.phone,
'college_name' : user_data.college_name,
'branch' : user_data.branch
}
return render(request, 'edit_profile.html', {'context' : context})
return redirect('/user_profile')
return HttpResponseRedirect
. But that is also not working for me.Upvotes: 0
Views: 289
Reputation: 542
Add
from django.core.exceptions import ObjectDoesNotExist
change except
except ObjectDoesNotExist:
and remove "/" from redirect
return redirect('user_profile')
Upvotes: 1