我正在Django中创建一个具有管理员(非超级用户)和在其下工作的员工的系统。我已经使用Django的内置模型创建了管理员注册和登录名。现在,我为员工的个人资料创建了自定义模型。管理员只能使用其仪表板注册该员工。这部分已经完成。现在,我想知道如何验证员工的凭据,以便他/她可以登录自己的仪表板? 请注意,在这种情况下,管理员和超级用户是不同的。管理员无法访问超级用户的面板。
模型是:
#ADMIN PROFILE
class AdminProfile(models.Model):
user=models.OneToOneField(User)
image = models.ImageField(upload_to='profile_pics/admin/', blank=True)
def __str__(self):
return self.user.username
#EMPLOYEE PROFILE
class EmployeeProfile(models.Model):
admin_name = models.ForeignKey(AdminProfile, on_delete = models.CASCADE, default=1)
emp_name = models.CharField(max_length=50)
email = models.EmailField(max_length=127, unique=True, null=False, blank=False)
password = models.CharField(max_length=20)
contact_no = models.PositiveIntegerField()
location = models.CharField(max_length=50)
image = models.ImageField(upload_to='profile_pics/employee/', blank=True)
def __str__(self):
return self.email
我想对EmployeeProfile
模型进行登录验证。
我已经尝试过使用后端进行自定义身份验证,但是失败了。
我是Django的新手,这是我在Django中的第一个项目的一部分。
谢谢。
编辑:我也通过在Employee个人资料中扩展用户模型解决了这个问题。