我有一个Manager身份验证系统,我想 add staff authentication under Manager
。我已经为经理创建了AbstractUser
,该如何在经理下管理人员身份验证。
how can I design models and views?
models.py
class CustomAccountManager(BaseUserManager):
def create_user(self, email, password):
user = self.model(email=email, password=password)
user.set_password(password)
user.is_staff = True
user.is_superuser = False
user.save()
return user
def create_superuser(self, email, password):
user = self.create_user(email=email, password=password)
user.is_active = True
user.is_staff = True
user.is_superuser = True
user.save()
return user
def get_by_natural_key(self, email_):
# print(email_)
return self.get(email=email_)
class CustomUser(AbstractUser):
alphanumeric = RegexValidator(r'^[A-Za-z- ]*$', 'Only alphanumeric characters are allowed.')
FullName = models.CharField(max_length=100, validators=[alphanumeric])
CompanyName = models.CharField(max_length=50)
Country = CountryField(blank_label='Select Country')
# username = None
email = models.EmailField(('email address'), unique=True)
email_confirmed = models.BooleanField(default=False)
force_logout_date = models.DateTimeField(null=True, blank=True)
# randompwd = models.CharField(max_length=20)
objects = CustomAccountManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = []
def __str__(self): # __unicode__ on Python 2
return self.email #'{} {} {}'.format(self.email, self.FullName, self.CompanyName) #
expected
当经理添加员工信息时,员工会收到一封包含电子邮件ID和密码的电子邮件,并且经理还会向员工分配权限