Я создал собственную модель Memeber в django и теперь мне нужно подтвердить пароль в ней с помощью учетных данных для входа в систему

Это моя модель new_user, в которой я храню регистрационные данные пользователя, я могу сохранить данные в базу данных, используя эту модель, она работает правильно.

новая_модель_пользователя `

class new_user(models.Model):
    stuname = models.CharField(max_length=200)
    stubirthday = models.DateField()
    stuphoto = models.ImageField()
    stugemail = models.EmailField()
    stugrade = models.IntegerField()
    stuclass = models.CharField(max_length=1)
    sturegdate = models.DateField(auto_now_add=True)
    stuentrance = models.IntegerField()
    sturesidance = models.TextField()
    stuguardian = models.CharField(max_length=200)
    stugtele = models.IntegerField()
    stugemail = models.EmailField()
    stumother = models.CharField(max_length=200)
    stumothertele = models.IntegerField()
    stuotherskills = models.CharField(max_length=200)
    stucertificate = models.FileField()
    stuletter = models.FileField()
    stumedical = models.FileField()
    stusports = models.CharField(max_length=200)
    stupassword = models.CharField(max_length=200)
    def __str__(self):
        return self.stuname

`

Я унаследовал другую модель с именем Member от этой модели для хранения моих одобренных пользователей. Я использую эту модель для автоматического присвоения имени пользователя. Я унаследовал этот класс от модели new_users, потому что все мои значения, сохраненные в new_user, представлены здесь. Я не уверен в этом объявлении, может кто-нибудь подскажет мне, правилен ли мой подход

Модель члена `

class Member(new_user):
    uid = models.AutoField(primary_key=True)
    uname = models.CharField(default=f'{super.stuname[:2]}{uid}',unique=True)
    password = super.stupassword
    office_role = models.OneToOneField(Roles.rname) 
    mem_roles = [office_role ,'Member'] 
    def __str__(self):
        return self.uname

` Поскольку один член клуба может иметь одну роль офиса и роль члена клуба, я создал эту модель для хранения ролей членов клуба

Модель ролей

# model for user roles
class Roles(models.Model):
    OPTIONS = ("Troop Leader", "Secretary", "Treasurer",
               "President", "Vice President", "Admin")
    rname = models.CharField(values=OPTIONS, max_length=20)
    startdate = models.DateField(auto_now_add=True)
    enddate = models.DateField(null=True, blank=True)
    uid = models.OneToOneField(Member.uid)
    def __str__(self):
        return self.uid

Я начал кодировать свое представление

views.py

def action_login(request):
    # CHECK REQUEST METHOD
    if request.method == "POST":

        # save user_name password in variables
        uname = request.POST.get('username')
        password = request.POST.get('password')

        # check if user_name and password are correct

    *I need to write a better code here to check with member uname and password combination*

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

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