错误,重定向次数过多。此页面在Django上无法正常工作。

huangapple go评论104阅读模式
英文:

err too many redirects.this page isnt working now on django

问题

我尝试创建一个用于我的Django项目的注册表单HTML页面,但最终出现了“太多重定向错误”。有人可以帮我吗?我对Django是新手。以下是我的代码:

  1. from . import views
  2. from django.urls import path
  3. app_name = 'credentials'
  4. urlpatterns = [
  5. path('register/', views.register, name='register'),
  6. path('login/', views.login, name='login'),
  7. path('logout/', views.logout, name='logout')
  8. ]
  1. def register(request):
  2. if request.method == 'POST':
  3. username = request.POST['username']
  4. firstname = request.POST['first_name']
  5. lastname = request.POST['last_name']
  6. email = request.POST['email']
  7. password = request.POST['password']
  8. confirmpassword = request.POST['password2']
  9. if password == confirmpassword:
  10. if User.objects.filter(username=username).exists():
  11. messages.info(request, 'Username Taken')
  12. return redirect('register')
  13. elif User.objects.filter(email=email).exists():
  14. messages.info(request, 'Email Taken')
  15. return redirect('register')
  16. user = User.objects.create_user(username=username, first_name=firstname, last_name=lastname, email=email,
  17. password=password)
  18. user.save()
  19. messages.info(request, 'USER REGISTERED')
  20. print('USER REGISTERED')
  21. else:
  22. messages.info(request, 'password did not match!!')
  23. return redirect('credentials:register')
  24. return redirect('/')
  25. return render(request, 'register.html')

希望这有所帮助。

英文:

i was trying to create a registration form html page for my django project.but i ended up in a "too many redirects error".can anyone help me with this? iam new to django. here's my code :

  1. from . import views
  2. from django.urls import path
  3. app_name = 'credentials'
  4. urlpatterns = [
  5. path('register/', views.register, name='register'),
  6. path('login/', views.login, name='login'),
  7. path('logout/', views.logout, name='logout')
  8. ]
  1. def register(request):
  2. if request.method == 'POST':
  3. username = request.POST['username']
  4. firstname = request.POST['first_name']
  5. lastname = request.POST['last_name']
  6. email = request.POST['email']
  7. password = request.POST['password']
  8. confirmpassword = request.POST['password2']
  9. if password == confirmpassword:
  10. if User.objects.filter(username=username).exists():
  11. messages.info(request, 'Username Taken')
  12. return redirect('register')
  13. elif User.objects.filter(email=email).exists():
  14. messages.info(request, 'Email Taken')
  15. return redirect('register')`
  16. user = User.objects.create_user(username=username, first_name=firstname, last_name=lastname, email=email,
  17. password=password)
  18. user.save()
  19. messages.info(request, 'USER REGISTERED')
  20. print('USER REGISTERED')
  21. else:
  22. messages.info(request, 'password did not match!!')
  23. return redirect('credentials:register')
  24. return redirect('/')
  25. return render(request, 'register.html')
  1. </details>
  2. # 答案1
  3. **得分**: 0
  4. 你的 'else' 路径中有2个重定向...第一个创建了无限重定向:
  5. ```python
  6. else:
  7. messages.info(request, '密码不匹配!!')
  8. return redirect('credentials:register')
  9. return redirect('/')
  10. ```
  11. <details>
  12. <summary>英文:</summary>
  13. you have 2 redirects in the &#39;else&#39; path... the first creates the infinit redirect:

else:
messages.info(request, 'password did not match!!')
return redirect('credentials:register')
return redirect('/')

  1. </details>

huangapple
  • 本文由 发表于 2023年2月24日 02:23:50
  • 转载请务必保留本文链接:https://go.coder-hub.com/75548849.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定