Django authenticate() всегда возвращает None

Я создаю веб-проект на Django для облегчения распространения информации в случае землетрясения. Пользователь должен быть членом клуба в качестве Мухтара или Помощника. Система регистрации работает успешно. Но часть входа в систему постоянно возвращает значение None, хотя мои данные для входа абсолютно верны.

models.py:

from django.db import models
from django.contrib.auth.models import AbstractUser
from base64 import b32encode
from hashlib import sha1
from random import random

# Create random id
def pkgen():
    rude = ('lol',)
    bad_pk = True
    while bad_pk:
        pk = b32encode(sha1(str(random())).digest()).lower()[:24]
        bad_pk = False
        for rw in rude:
            if pk.find(rw) >= 0: bad_pk = True
    return pk

# Create your models here.
class User(AbstractUser):
    muhtar = models.BooleanField(null=False,default=False)
    username = models.CharField(max_length=28, null=False, unique=False)
    email = models.EmailField(null=False, unique=True)
    tc = models.CharField(max_length=11, null=False, unique=True)
    address = models.TextField(null=False)
    need_help = models.BooleanField(default=False)
    date_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'tc' #Uyarı! Bu benzersiz olmasını ister
    REQUIRED_FIELDS = ['username']
    def __str__(self):
        return f"{self.username}"

class sos(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    sos_key = models.CharField(max_length=24, primary_key=True, default=pkgen, unique=True)
    address = models.TextField(null=False, unique=False)
    
    def __str__(self):
        return f"{self.user}"

views.py:

login.html

{% load static %}
<!DOCTYPE html>
<html lang="tr">

<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>Giriş Sayfası</title>
    <link rel="stylesheet" href="{% static 'libs/bootstrap.min.css' %}">
    <link rel="stylesheet" href="{% static 'register_and_login.css' %}">
    <script src="{% static 'libs/jquery.min.js' %}"></script>
</head>

<body>
    {% block navbar %}
        {% include "navbar.html" %}
    {% endblock navbar %}
    <div class="container">
        <br>
        <div id="brs">
            <br><br><br><br>
        </div>
        <!--giriş formu-->
        <form id="giris-form" method="POST">
            {% csrf_token %}
            {% if error %}
                <div class="alert alert-danger">{{ error }}</div>
            {% endif %}
            <h3>Giriş Yap</h3>

            <label for="email">Email</label>
            <input type="text" id="email" name="email">

            <label for="tc-no">T.C. no</label>
            <input type="text" id="tc-no" name="tc-no">

            <label for="parola">Password</label>
            <input type="password" id="parola" name="password">

            <button type="submit" id="giris-yap">Giriş Yap</button>
        </form>
    </div>
</body>

</html>

Пожалуйста, простите мое невежество. Я новичок в django.

Я хочу, чтобы пользователь вошел в систему, но authenticate() всегда возвращает None, даже если моя информация абсолютно верна.

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