Представление регистрации в Django с отредактированной UserCreationForm не работает

Я использую Django для создания приложения для школьного проекта.

Моя попытка аутентификации с использованием Django's auth и Usercreationform (но модифицированная, чтобы включить email), похоже, не работает. Я уже протестировал мои представления входа/выхода, используя пользователя admin, и это работает довольно хорошо, но я не могу сохранить новых пользователей в моем приложении.

Мне пришлось изменить форму создания пользователя, чтобы она включала email, потому что в будущем я предполагаю фильтровать, с какими email люди регистрируются в приложении (только институциональные email должны работать в этом приложении, но я еще не реализовал это), но каждый раз, когда я отправляю форму регистрации пользователя, она говорит, что форма недействительна в отладке.

Я создал форму в файле forms.py

from django.contrib.auth.forms import UserCreationForm
from django import forms
from django.contrib.auth.models import User

class CustomUserForm(UserCreationForm):
    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']

в моем views.py я импортировал форму и настроил ее на отладку того, какие поля не работают, когда форма не действительна

from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
from .forms import CustomUserForm

def register_view(request):
  form = CustomUserForm(request.POST)
  if form.is_valid():
    user_obj = form.save()
    form.save()
    return redirect('/login')
  else:
    print("FORM IS INVALID.")
    for field in form:
      print("Field Error:", field.name,  field.errors)
  context = {'form': form}
  return render(request, 'register_view.html', context)

в моем файле шаблона register_view.html я создал свою форму таким образом:

{% extends "base.html" %}
{% block content %}

{% if not request.user.is_authenticated %}
<div class="login-form">
    <form method="'POST" action="">
      {% csrf_token %}
      <h1 class="login_title">TITLE</h1>
      <div class="content">
        <div class="input-field">
          {{ form.username.label }} : {{ form.username }}
        </div>
        <div class="input-field">
          {{ form.email.label }} : {{ form.email }}
        </div>
        <div class="input-field">
          {{ form.password1.label }} : {{ form.password1 }}
        </div>
        <div class="input-field">
          {{ form.password2.label }} : {{ form.password2 }}
        </div>
      </div>
      <div class="action">
        <button class="btn back">
          <a href="{% url 'frontend:test_home_view' %}">back</a>
        </button>
        <button type="submit" class="btn send" name="Create User">register</button>
      </div>
    </form>
  </div>
{% else %}
 // tells the user they are already logged in and asks if they want to log out instead.
{% endif %}

{% endblock %}

Я попытался отправить форму в моем приложении localhost для тестирования, используя фиктивные основные данные (я убедился, что они правильные), и он печатает "форма недействительна", и он печатает каждое поле, как будто оно имеет ошибку, но я не понимаю, почему это так? Я пропустил какой-то важный шаг?

Журнал консоли:

FORM IS INVALID.
Field Error: username <ul class="errorlist"><li>Este campo es obligatorio.</li></ul>
Field Error: email 
Field Error: password1 <ul class="errorlist"><li>Este campo es obligatorio.</li></ul>
Field Error: password2 <ul class="errorlist"><li>Este campo es obligatorio.</li></ul>
[12/Nov/2022 19:29:28] "GET /register/?csrfmiddlewaretoken=0maSCK00pPyfxvPR2skuUQdetYxviuCvb7Vr8CzNXJtzsBNMnvxKTj15M6bnAIOu&username=abc&email=abc%40mail.com&password1=abc111&password2=abc111&Create+User= HTTP/1.1" 200 2530

Este campo es obligatorio = Это поле является обязательным. Приложение на испанском языке.

Я пытался отладить ошибку, почему мое представление регистра не сохраняет форму и вместо этого помечает форму как недействительную, но оно помечает каждое поле как недействительное поле, я не понимаю, почему оно не работает ни с одним полем.

Вернуться на верх