CCY注释 #18

Closed
pmh4agx8t wants to merge 0 commits from main into ccy_branch
Collaborator

导入Django内置的抽象用户模型(用于扩展自定义用户字段)

from django.contrib.auth.models import AbstractUser
from django.db import models
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

Create your models here.

自定义用户模型:继承AbstractUser以扩展默认用户字段

class BlogUser(AbstractUser):
# 昵称字段:字符类型,最大长度100,允许为空
nickname = models.CharField(('nick name'), max_length=100, blank=True)
# 创建时间字段:DateTime类型,默认值为当前时间
creation_time = models.DateTimeField(
('creation time'), default=now)
# 最后修改时间字段:DateTime类型,默认值为当前时间
last_modify_time = models.DateTimeField(('last modify time'), default=now)
# 注册来源字段:字符类型,最大长度100,允许为空(记录用户注册渠道,如“官网”“APP”)
source = models.CharField(
('create source'), max_length=100, blank=True)

# 获取用户详情页的相对URL(通过reverse反向解析路由)
def get_absolute_url(self):
    # 对应路由名称为“blog:author_detail”,传递参数“author_name”为当前用户的用户名
    return reverse(
        'blog:author_detail', kwargs={
            'author_name': self.username})

# 定义用户对象的字符串表示(在后台管理/打印对象时显示邮箱)
def __str__(self):
    return self.email

# 获取用户详情页的完整绝对URL(拼接站点域名+相对URL)
def get_full_url(self):
    # 获取当前站点的域名(需在Django后台配置Site)
    site = get_current_site().domain
    # 拼接域名与相对URL,生成完整链接
    url = "https://{site}{path}".format(site=site,
                                        path=self.get_absolute_url())
    return url

# 模型元信息配置
class Meta:
    # 排序规则:按id倒序(新创建的用户排在前)
    ordering = ['-id']
    # 后台管理中显示的模型名称(单复数)
    verbose_name = _('user')
    verbose_name_plural = verbose_name
    # 指定按id字段获取最新记录
    get_latest_by = 'id'
# 导入Django内置的抽象用户模型(用于扩展自定义用户字段) from django.contrib.auth.models import AbstractUser from django.db import models 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 # Create your models here. # 自定义用户模型:继承AbstractUser以扩展默认用户字段 class BlogUser(AbstractUser): # 昵称字段:字符类型,最大长度100,允许为空 nickname = models.CharField(_('nick name'), max_length=100, blank=True) # 创建时间字段:DateTime类型,默认值为当前时间 creation_time = models.DateTimeField(_('creation time'), default=now) # 最后修改时间字段:DateTime类型,默认值为当前时间 last_modify_time = models.DateTimeField(_('last modify time'), default=now) # 注册来源字段:字符类型,最大长度100,允许为空(记录用户注册渠道,如“官网”“APP”) source = models.CharField(_('create source'), max_length=100, blank=True) # 获取用户详情页的相对URL(通过reverse反向解析路由) def get_absolute_url(self): # 对应路由名称为“blog:author_detail”,传递参数“author_name”为当前用户的用户名 return reverse( 'blog:author_detail', kwargs={ 'author_name': self.username}) # 定义用户对象的字符串表示(在后台管理/打印对象时显示邮箱) def __str__(self): return self.email # 获取用户详情页的完整绝对URL(拼接站点域名+相对URL) def get_full_url(self): # 获取当前站点的域名(需在Django后台配置Site) site = get_current_site().domain # 拼接域名与相对URL,生成完整链接 url = "https://{site}{path}".format(site=site, path=self.get_absolute_url()) return url # 模型元信息配置 class Meta: # 排序规则:按id倒序(新创建的用户排在前) ordering = ['-id'] # 后台管理中显示的模型名称(单复数) verbose_name = _('user') verbose_name_plural = verbose_name # 指定按id字段获取最新记录 get_latest_by = 'id'
pmh4agx8t added 32 commits 4 months ago
457900b3c2
Merge branch 'nch_branch' into develop
pmh4agx8t closed this pull request 4 months ago
This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: phm9gvnzi/software-engineering-methodology#18
Loading…
There is no content yet.