单击提交按钮后无法重定向到另一个页面 django

时间:2021-03-10 13:12:14

标签: python django

  • 因此,我在以下代码中实现了一些 post、get 和 update。将值提交到数据库后。返回重定向不会将页面更改为 xargs,其中 UserProfile.htmlurls.py
  • 代码

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') 。但这对我也不起作用。

1 个答案:

答案 0 :(得分:1)

添加

from django.core.exceptions import ObjectDoesNotExist

变化除外

except ObjectDoesNotExist:

并从重定向中删除“/”

return redirect('user_profile')