Страница не найдена (404) Метод запроса: POST
Я застрял в этой ошибке в течение нескольких дней не могу найти, где ошибка я пытался мой уровень лучшее, чтобы очистить ошибку, но не в состоянии сделать это.
раздел просмотров
from django.shortcuts import render,redirect
from django.contrib.auth.models import User,auth
# Create your views here.
def register(request):
if(request.method=='POST'):
username=request.POST['username']
password1=request.POST['password1']
password2=request.POST['password2']
user=User.objects.create_user(username=username,password=password1)
user.save();
print("user created")
return redirect('/')
else:
return render(request,'registration.html')
секцияurls.py
from django.urls import path
from . import views
urlpatterns=[path('register/',views.register,name="register")]
html раздел
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Registration</title>
</head>
<body>
<form action="register" method="POST">
{% csrf_token %}
USERNAME <input type="text" name="username" id=""> <br><br>
PASSWORD <input type="password" name="password1" id=""> <br><br>
RETYPE PASSWORD <input type="password" name="password2" id=""> <br><br>
<input type="submit" value="">
</form>
</body>
</html>
Выпуск
create()является методом,create_user()не является никаким методом.create()не требует вызова методаsave()для создания экземпляра.Вы дали только
action="register", что совсем не верно, вам нужно дать тегurl, чтобы идеально сделать маршрут. Это случай для page not found, который является основным вопросом.
Итак, с некоторыми изменениями попробуйте следующий код:
Views.py
def register(request):
if(request.method=='POST'):
username=request.POST['username']
password1=request.POST['password1']
password2=request.POST['password2']
user=User(username=username,password=password1)
user.save()
print("user created")
return redirect('/')
else:
return render(request,'registration.html')
Файл шаблона
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Registration</title>
</head>
<body>
<form action="{% url 'register' %}" method="POST">
{% csrf_token %}
USERNAME <input type="text" name="username" id=""> <br><br>
PASSWORD <input type="password" name="password1" id=""> <br><br>
RETYPE PASSWORD <input type="password" name="password2" id=""> <br><br>
<input type="submit" value="Save">
</form>
</body>
</html>