From 50d42e6311bee574e5254ec848bdbe15b9415453 Mon Sep 17 00:00:00 2001 From: pql56kzg7 <3428067998@qq.com> Date: Fri, 7 Nov 2025 21:08:18 +0800 Subject: [PATCH] Delete 'admin.py' --- admin.py | 103 ------------------------------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 admin.py diff --git a/admin.py b/admin.py deleted file mode 100644 index ae53414..0000000 --- a/admin.py +++ /dev/null @@ -1,103 +0,0 @@ -# 导入Django表单模块 -from django import forms -# 导入Django默认用户管理类 -from django.contrib.auth.admin import UserAdmin -# 导入用户修改表单 -from django.contrib.auth.forms import UserChangeForm -# 导入用户名字段 -from django.contrib.auth.forms import UsernameField -# 导入国际化翻译函数 -from django.utils.translation import gettext_lazy as _ - -# 注册模型到管理后台 -# 导入自定义用户模型 -from .models import BlogUser - - -class BlogUserCreationForm(forms.ModelForm): - """自定义用户创建表单,用于管理员后台创建用户""" - - # 密码字段1 - 输入密码 - password1 = forms.CharField( - label=_('password'), # 字段标签:密码 - widget=forms.PasswordInput # 使用密码输入控件 - ) - # 密码字段2 - 确认密码 - password2 = forms.CharField( - label=_('Enter password again'), # 字段标签:再次输入密码 - widget=forms.PasswordInput # 使用密码输入控件 - ) - - class Meta: - # 指定使用的模型 - model = BlogUser - # 表单包含的字段:仅邮箱 - fields = ('email',) - - def clean_password2(self): - """清理和验证密码确认字段""" - # 从已清理数据中获取密码1 - password1 = self.cleaned_data.get("password1") - # 从已清理数据中获取密码2 - password2 = self.cleaned_data.get("password2") - # 检查两个密码是否存在且匹配 - if password1 and password2 and password1 != password2: - # 如果不匹配,抛出验证错误 - raise forms.ValidationError(_("passwords do not match")) - # 返回验证通过的密码2 - return password2 - - def save(self, commit=True): - """保存用户实例,处理密码哈希""" - # 调用父类save方法但不立即提交到数据库 - user = super().save(commit=False) - # 使用Django的密码哈希方法设置密码 - user.set_password(self.cleaned_data["password1"]) - # 如果设置为立即提交 - if commit: - # 设置用户来源为管理员站点 - user.source = 'adminsite' - # 保存用户到数据库 - user.save() - # 返回用户实例 - return user - - -class BlogUserChangeForm(UserChangeForm): - """自定义用户信息修改表单""" - - class Meta: - # 指定使用的模型 - model = BlogUser - # 包含所有字段 - fields = '__all__' - # 字段类映射,用户名使用特定字段类 - field_classes = {'username': UsernameField} - - def __init__(self, *args, **kwargs): - """初始化表单""" - # 调用父类初始化方法 - super().__init__(*args, **kwargs) - - -class BlogUserAdmin(UserAdmin): - """自定义用户管理类,配置Django管理后台的用户界面""" - - # 指定修改用户时使用的表单 - form = BlogUserChangeForm - # 指定创建用户时使用的表单 - add_form = BlogUserCreationForm - # 列表页面显示的字段 - list_display = ( - 'id', # 用户ID - 'nickname', # 昵称 - 'username', # 用户名 - 'email', # 邮箱 - 'last_login', # 最后登录时间 - 'date_joined', # 注册时间 - 'source' # 用户来源 - ) - # 列表中可作为链接点击的字段 - list_display_links = ('id', 'username') - # 默认排序字段:按ID降序排列 - ordering = ('-id',) \ No newline at end of file