diff --git a/models.py b/models.py deleted file mode 100644 index 0ec9c5c..0000000 --- a/models.py +++ /dev/null @@ -1,72 +0,0 @@ -# 导入Django抽象用户基类 -from django.contrib.auth.models import AbstractUser -# 导入Django数据库模型 -from django.db import models -# 导入URL反向解析函数 -from django.urls import reverse -# 导入当前时间获取函数 -from django.utils.timezone import now -# 导入国际化翻译函数 -from django.utils.translation import gettext_lazy as _ -# 导入获取当前站点的工具函数 -from djangoblog.utils import get_current_site - - -# 在这里创建模型 - -class BlogUser(AbstractUser): - """自定义用户模型,继承自Django抽象用户基类""" - - # 昵称字段,最大长度100字符,允许为空 - nickname = models.CharField( - _('nick name'), # 字段显示名称:昵称 - max_length=100, # 最大长度 - blank=True # 允许为空 - ) - # 创建时间字段,默认值为当前时间 - creation_time = models.DateTimeField( - _('creation time'), # 字段显示名称:创建时间 - default=now # 默认值:当前时间 - ) - # 最后修改时间字段,默认值为当前时间 - last_modify_time = models.DateTimeField( - _('last modify time'), # 字段显示名称:最后修改时间 - default=now # 默认值:当前时间 - ) - # 用户来源字段,最大长度100字符,允许为空 - source = models.CharField( - _('create source'), # 字段显示名称:创建来源 - max_length=100, # 最大长度 - blank=True # 允许为空 - ) - - def get_absolute_url(self): - """获取用户的绝对URL,用于生成用户详情页链接""" - # 使用reverse反向解析URL,传入用户名作为参数 - return reverse( - 'blog:author_detail', # URL模式名称 - kwargs={'author_name': self.username} # URL参数:作者用户名 - ) - - def __str__(self): - """对象的字符串表示,返回邮箱地址""" - return self.email - - def get_full_url(self): - """获取用户的完整URL(包含域名)""" - # 获取当前站点域名 - site = get_current_site().domain - # 构建完整URL:https://域名 + 用户详情页路径 - url = "https://{site}{path}".format( - site=site, # 站点域名 - path=self.get_absolute_url() # 用户详情页路径 - ) - # 返回完整URL - return url - - class Meta: - """模型的元数据配置""" - ordering = ['-id'] # 默认排序:按ID降序排列 - verbose_name = _('user') # 单数显示名称:用户 - verbose_name_plural = verbose_name # 复数显示名称:与单数相同 - get_latest_by = 'id' # 获取最新记录的依据字段:ID \ No newline at end of file