Форма регистрации Django не отправляет данные или не сохраняет их в базе данных, работают ошибки valid и invalid
$ Я пытался отправить следующие коды, они никогда не отправляются, не сохраняются в базе данных и не дают никакой реакции, даже предупреждения (valid и invalid из bootsrap5.2 не работают), мне нужна поддержка, спасибо большое
$ это код в (views.py),
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import login as signin
from django.contrib.auth import authenticate
# This can replace the 3 uppers
from .forms import SignUpForm
def signup(request):
form = SignUpForm()
if request.method == 'POST' and 'btnsignup2' in request.POST:
form = SignUpForm(request.POST)
if form.is_valid():
user = form.save()
signin(request, user)
return redirect('index')
else:
form = SignUpForm()
context = {
'basic':
{'main': 'Project',
},
'form': form
}
return render(request, 'accounts/signup-dj.html', context)
$ это код в (forms.py)
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import login as signin
from django.contrib.auth import authenticate
from django.contrib.auth.models import User
class SignUpForm(UserCreationForm):
email = forms.EmailField(max_length=250, required=True, widget=forms.EmailInput())
class Meta:
model = User
fields = ['first_name', 'last_name', 'email', 'username', 'password1', 'password2']
$ это (urls.py)
from django.urls import path
from . import views
urlpatterns = [
path('login', views.login, name="login"),
path('signout', views.signout, name="signout"),
path('signup', views.signup, name="signup"),
]
$ это код в (HTML)
{% extends 'base.html' %}
{% load static %}
{% block title %}Sign Up{% endblock %}<!-- | Page-title-->
{% block content %}
<div class="signup-form">
<div class="container-signup w-50">
<h1>Sign Up</h1>
<br>
{% include 'parts/alerts.html' %}
<form class="row g-3" metho="POST" action="">
{% csrf_token %}
{% include 'includes/form.html' %}
<button type="submit" name="btnsignup2" class="btn main-btn w-100 rounded-pill">
Create New User</button>
<p class="mt-3">
You Already Have Account at {{basic.main}} ? <a href="{% url 'login'
%}">Login</a>
</p>
</form>
</div>
</div>
{% endblock %}
Просто взглянув на HTML, я вижу, что здесь:
<form class="row g-3" metho="POST" action="">
у вас опечатка в metho="POST"
, должно быть method="POST"
, и присвойте url конечной точки action
, как action="/signup"
.