diff --git a/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/models.py b/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/models.py index 3baddbb..1eba368 100644 --- a/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/models.py +++ b/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/models.py @@ -6,30 +6,46 @@ from django.utils.translation import gettext_lazy as _ from djangoblog.utils import get_current_site +#ccy: 用户管理模块 - 扩展Django默认用户模型,添加博客系统所需的用户字段和功能 # Create your models here. +#ccy: 博客用户模型 - 继承AbstractUser扩展自定义用户字段 class BlogUser(AbstractUser): + #ccy: 用户昵称字段,最大长度100字符,允许为空 nickname = models.CharField(_('nick name'), max_length=100, blank=True) + #ccy: 用户创建时间,自动设置为当前时间 creation_time = models.DateTimeField(_('creation time'), default=now) + #ccy: 用户最后修改时间,自动更新为当前时间 last_modify_time = models.DateTimeField(_('last modify time'), default=now) + #ccy: 用户创建来源,记录用户注册渠道 source = models.CharField(_('create source'), max_length=100, blank=True) + #ccy: 获取用户绝对URL - 用于生成用户详情页链接 def get_absolute_url(self): return reverse( 'blog:author_detail', kwargs={ 'author_name': self.username}) + #ccy: 字符串表示方法 - 返回用户邮箱作为标识 def __str__(self): return self.email + #ccy: 获取用户完整URL - 包含域名的完整用户链接 def get_full_url(self): + #ccy: 获取当前站点域名 site = get_current_site().domain + #ccy: 拼接完整URL,包含协议和域名 url = "https://{site}{path}".format(site=site, path=self.get_absolute_url()) return url + #ccy: Meta类 - 定义用户模型的元数据配置 class Meta: + #ccy: 按ID降序排列,新用户显示在前面 ordering = ['-id'] + #ccy: 单数模型名称 verbose_name = _('user') + #ccy: 复数模型名称 verbose_name_plural = verbose_name - get_latest_by = 'id' + #ccy: 指定获取最新记录的依据字段 + get_latest_by = 'id' \ No newline at end of file