Форма регистрации в Django
Я новичок в программировании django. Я хочу создать форму регистрации. Я получаю ошибку NoReverseMatch at /. Reverse for 'register' with no arguments not found. 1 pattern(s) tried: ['(?P<register_id>[^/]+)/$'].Пожалуйста, помогите мне.
views.py
def register(request):
if request.method == "POST":
user_form = UserRegistrationForm(request.POST)
if user_form.is_valid():
new_user = user_form.save(commit=False)
new_user.set_pasword =(user_form.cleaned_data['Password'])
new_user.save()
return render(request, 'main/account/register_done.html', {'new_user': new_user})
else:
user_form = UserRegistrationForm()
return render(request, "main/account/register.html", {'user_form': user_form})
url.py
path("<int:register>/",views.register, name='register'),
forms.py
from django.contrib.auth.models import User
from django import forms
from django.forms import widgets
class UserRegistrationForm(forms.ModelForm):
password = forms.CharField(label='Password', widget=forms.PasswordInput)
password2 = forms.CharField(label='Repeat password', widget=forms.PasswordInput)
class Meta():
model = User
fields = {"Username", "email", "Name", "SurName"}
def clean_password2(self):
cd =self.cleaned_data
if cd['password'] != ["password2"]:
raise forms.ValidationError("Password dont match")
return cd["password2"]
base.html
<a class="me-3 py-2 text-dark text-decoration-none" method="POST" href="{% url 'register' %}">Регистрация</a>
В urls.py замените "int:register/" на любую строку, например
path("register/",views.register, name='register')