####################Django的AbstractUser類的一段源碼#######################
class?AbstractUser(AbstractBaseUser,?PermissionsMixin):
????"""
????An?abstract?base?class?implementing?a?fully?featured?User?model?with
????admin-compliant?permissions.
????Username?and?password?are?required.?Other?fields?are?optional.
????"""
????username_validator?=?UnicodeUsernameValidator()?if?six.PY3?else?ASCIIUsernameValidator()
????username?=?models.CharField(
????????_('username'),
????????max_length=150,
????????unique=True,
????????help_text=_('Required.?150?characters?or?fewer.?Letters,?digits?and?@/./+/-/_?only.'),
????????validators=[username_validator],
????????error_messages={
????????????'unique':?_("A?user?with?that?username?already?exists."),
????????},
????)
????first_name?=?models.CharField(_('first?name'),?max_length=30,?blank=True)
????last_name?=?models.CharField(_('last?name'),?max_length=30,?blank=True)
????email?=?models.EmailField(_('email?address'),?blank=True)
????is_staff?=?models.BooleanField(
????????_('staff?status'),
????????default=False,
????????help_text=_('Designates?whether?the?user?can?log?into?this?admin?site.'),
????)
????is_active?=?models.BooleanField(
????????_('active'),
????????default=True,
????????help_text=_(
????????????'Designates?whether?this?user?should?be?treated?as?active.?'
????????????'Unselect?this?instead?of?deleting?accounts.'
????????),
????)
????date_joined?=?models.DateTimeField(_('date?joined'),?default=timezone.now)
????objects?=?UserManager()
????USERNAME_FIELD?=?'username'
????REQUIRED_FIELDS?=?['email']
????class?Meta:
????????verbose_name?=?_('user')
????????verbose_name_plural?=?_('users')
????????abstract?=?True
????def?get_full_name(self):
????????"""
????????Returns?the?first_name?plus?the?last_name,?with?a?space?in?between.
????????"""
????????full_name?=?'%s?%s'?%?(self.first_name,?self.last_name)
????????return?full_name.strip()
????def?get_short_name(self):
????????"Returns?the?short?name?for?the?user."
????????return?self.first_name
????def?email_user(self,?subject,?message,?from_email=None,?**kwargs):
????????"""
????????Sends?an?email?to?this?User.
????????"""
????????send_mail(subject,?message,?from_email,?[self.email],?**kwargs)第一:像first_name?=?models.CharField(_('first?name'),?max_length=30,?blank=True)
和
verbose_name?=?_('user')里面添加的? ?_?? 是什么意思呀,一般我都寫(xiě)成first_name?=?models.CharField(max_length=30,?blank=True)
和
verbose_name?=?user第二:USERNAME_FIELD?=?'username'
REQUIRED_FIELDS?=?['email']上面的寫(xiě)的什么意思呢?
求助:python源代碼解讀
無(wú)無(wú)法師
2017-09-23 10:35:44