Django no almacena el campo de contraseña en el modelo de usuario

Creé una página de registro utilizando los formularios de registro integrados de Django. Aquí está mi código debajo de

forms.py

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


class SignUpForm(UserCreationForm):
    email = forms.EmailField(max_length=254, help_text='Please provide a valid email address.')
    class Meta:
        model = User
        fields = ('username', 'email', 'password1', 'password2')

    def clean(self):
        cleaned_data = super(SignUpForm, self).clean()
        username = cleaned_data.get("username")
        email = cleaned_data.get("email")


        check_email = User.objects.filter(email=email)
        if check_email:
            raise forms.ValidationError(
                "You are already registered!")
            return cleaned_data

        check_username = User.objects.filter(username=username)
        if check_username:
            raise forms.ValidationError(
                "A user with that username already exists")
            return cleaned_data

En mi views.py así es como hago la autenticación para el registro

views.py

@csrf_exempt
def signup_users(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            print("signup authencticate", user)
            login(request, user)
            return redirect('/')
    else:
        form = SignUpForm()
    return render(request, 'signup.html', {'form': form})

Aquí está mi código para manejar el inicio de sesión del usuario

@csrf_exempt
def login_view(request):
    print(request.user.is_authenticated())
    if request.POST:
        email = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(email=email, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                return HttpResponseRedirect('/')
        else:
            return render(request, "login.html")   

    else:
        return render(request, "login.html")

Cuando me registro, todo parece estar bien, pero cuando intento iniciar sesión, simplemente no me deja iniciar sesión.

Así que cuando revisé eldjango admin, esto es lo que encontré

Username: tech1
Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
Password:
Invalid password format or unknown hashing algorithm.
Raw passwords are not stored, so there is no way to see this user's password, but you can change the password using this form.

No entiendo por qué la contraseña del usuario no se almacena en el momento del registro.

Lo busqué y descubrí esta respuestausing User.objects.get_or_create () da un formato de contraseña no válido en django? que django cifra la contraseña antes de almacenarla y debería usar algo como

user, created = User.objects.get_or_create(username="testuser2")
user.set_password('123')

Pero no estoy muy seguro de dónde poner esto en mi código o cómo ayuda esto. ¿Qué está pasando?

Respuestas a la pregunta(1)

Su respuesta a la pregunta