Продолжаю получать эту ошибку при попытке отобразить мою пользовательскую HTML-форму
Вот ошибка, которую я получил, когда удалил предложение else из файла views.py.
File "C:\Users\david\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\base.py", line 309, in check_response
raise ValueError(
ValueError: The view register.views.register didn't return an HttpResponse object. It returned None instead.
Я предполагаю, что я получил эту ошибку, так как отсутствует else clause, который мне нужен, но если я включу его в файл views.py, то получу другую ошибку
Вот мой файл просмотра:
from django.shortcuts import render,redirect
from django.contrib.auth.models import User, auth
def register(request):
if request.method == 'POST':
first_name = request.POST['first_name'],
last_name = request.POST['last_name'],
dob = request.POST['dob'],
email = request.POST['email']
newuser= User.objects.create_user(first_name=first_name,last_name=last_name, email=email)
newuser.save()
print(request.POST)
return redirect('/home')
Первоначально у меня было предложение else в нижней части этого, но это вызвало другую ошибку.
Вот это положение:
else:
return render('/register/userinfo.html')
И ошибка, которую я получаю, когда она на месте:
File "C:\Users\david\OneDrive\Desktop\Django\Sub\register\views.py", line 4, in render
return render(request,'/register/userinfo.html')
TypeError: render() takes 1 positional argument
but 2 were given
Есть идеи, что может вызвать эту нижнюю ошибку?
Второе сообщение об ошибке предполагает, что ваш код в строке 4 был таким:
return render(request,'/register/userinfo.html')
Вы говорите, что другая оговорка была:
else:
return render('/register/userinfo.html')
Вы уверены, что сохранили и перезапустили проект перед тестированием.
Вообще я не представляю, как может возникнуть эта ошибка. Я предлагаю проверить код функции render, чтобы увидеть, что может вызвать проблему.
Вы должны проверить свой путь к userinfo.html. Вы не должны начинать с /. Попробуйте следующее:
return render(request,'userinfo.html')