Merge branch 'develop'

psy_branch
安琪 6 months ago
commit d0c22c24fd

Binary file not shown.

@ -1,5 +1,6 @@
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
from django import forms
from django.contrib.auth.admin import UserAdmin # 导入Django默认的用户管理Admin类基础模板
<<<<<<< HEAD
@ -26,11 +27,22 @@ from django.contrib.auth.admin import UserAdmin# 从 django 内置的 auth 管
from django.contrib.auth.forms import UserChangeForm# 从 django 内置的 auth 表单模块导入 UserChangeForm用于用户信息修改表单的定制
from django.contrib.auth.forms import UsernameField# 从 django 内置的 auth 表单模块导入 UsernameField用于用户名字段的处理
from django.utils.translation import gettext_lazy as _# 从 django 翻译工具模块导入 gettext_lazy 并别名成 _用于实现国际化翻译延迟翻译
=======
from django import forms# 导入 Django 的表单基类
from django.contrib.auth.admin import UserAdmin# 导入 Django 默认的用户管理类,我们将继承它来进行自定义
from django.contrib.auth.forms import UserChangeForm# 导入 Django 默认的用户修改表单,我们将继承它
from django.contrib.auth.forms import UsernameField# 导入 Django 用于处理用户名字段的专用类,它包含了一些验证逻辑
from django.utils.translation import gettext_lazy as _# 导入国际化函数,用于将文本标记为可翻译的,这是一个好习惯
# 这是一个标准的注释,提醒开发者在这里注册自己的模型到 Admin 站点
# Register your models here.
from .models import BlogUser# 从当前应用的 models.py 文件中导入我们自定义的用户模型 BlogUser
>>>>>>> psy_branch
# Register your models here.
from .models import BlogUser# 从当前目录的 models 模块导入自定义的 BlogUser 模型
>>>>>>> xyr-branch
<<<<<<< HEAD
# Register your models here.
from .models import BlogUser # 导入自定义的用户模型替代Django默认User)
@ -47,11 +59,26 @@ class BlogUserCreationForm(forms.ModelForm):
fields = ('email',) # 新增用户时,默认显示的核心字段(仅邮箱,其他字段可后续编辑)
# 密码验证逻辑:检查两次输入的密码是否一致
def clean_password2(self):
=======
class BlogUserCreationForm(forms.ModelForm):# 添加一个密码字段label 使用了国际化widget 指定为密码输入框(输入内容会被掩码)
password1 = forms.CharField(label=_('password'), widget=forms.PasswordInput)# 添加一个密码字段label 使用了国际化widget 指定为密码输入框(输入内容会被掩码)
password2 = forms.CharField(label=_('Enter password again'), widget=forms.PasswordInput) # 添加一个确认密码字段
class Meta: # Meta 类用于定义 ModelForm 的元数据
model = BlogUser # 指定这个表单对应的模型是 BlogUser
fields = ('email',)
def clean_password2(self): # 自定义密码验证方法Django 会自动调用名为 clean_<field_name> 的方法
>>>>>>> psy_branch
# Check that the two password entries match
password1 = self.cleaned_data.get("password1")# 获取第一个密码框的清洗后数据
password2 = self.cleaned_data.get("password2")
<<<<<<< HEAD
if password1 and password2 and password1 != password2:
# 如果密码不一致,抛出验证错误
=======
if password1 and password2 and password1 != password2:# 检查两个密码是否都存在且不相等
>>>>>>> psy_branch
raise forms.ValidationError(_("passwords do not match"))
return password2
=======
@ -59,6 +86,7 @@ class BlogUserCreationForm(forms.ModelForm):# 定义 BlogUserCreationForm 类,
password1 = forms.CharField(label=_('password'), widget=forms.PasswordInput) # 定义 password1 字段,类型为 CharField标签为“password”小部件使用 PasswordInput密码输入框内容会隐藏
password2 = forms.CharField(label=_('Enter password again'), widget=forms.PasswordInput)# 定义 password2 字段,类型为 CharField标签为“Enter password again”小部件同样使用 PasswordInput
<<<<<<< HEAD
class Meta:# Meta 类用于定义模型表单的元数据
model = BlogUser # 关联的模型是 BlogUser
fields = ('email',) # 表单中包含的字段是 'email'
@ -73,12 +101,15 @@ class BlogUserCreationForm(forms.ModelForm):# 定义 BlogUserCreationForm 类,
>>>>>>> xyr-branch
def save(self, commit=True): # 定义 save 方法用于保存用户数据commit 参数控制是否立即提交到数据库
=======
def save(self, commit=True): # 自定义保存方法,用于处理密码加密
>>>>>>> psy_branch
# Save the provided password in hashed format
<<<<<<< HEAD
user = super().save(commit=False)
# 使用 Django 内置方法加密密码
user.set_password(self.cleaned_data["password1"])
if commit:
if commit:# 如果 commit 参数为 True默认情况则将用户对象保存到数据库
user.source = 'adminsite'
user.save()
return user
@ -91,19 +122,29 @@ class BlogUserCreationForm(forms.ModelForm):# 定义 BlogUserCreationForm 类,
return user # 返回用户对象
>>>>>>> xyr-branch
<<<<<<< HEAD
# 自定义用户修改表单(用于在后台编辑用户信息)
class BlogUserChangeForm(UserChangeForm):
=======
class BlogUserChangeForm(UserChangeForm):# 2. 自定义用户修改表单 (用于在 Admin 后台编辑已存在的用户)
>>>>>>> psy_branch
class Meta:
model = BlogUser
fields = '__all__'
field_classes = {'username': UsernameField}
def __init__(self, *args, **kwargs):
def __init__(self, *args, **kwargs):# 自定义初始化方法
super().__init__(*args, **kwargs)
<<<<<<< HEAD
# 自定义用户管理类(用于在后台管理用户)
class BlogUserAdmin(UserAdmin):
# 指定编辑用户时使用的表单
=======
class BlogUserAdmin(UserAdmin):# 3. 自定义用户管理类 (用于定义在 Admin 后台如何管理和显示 BlogUser)
>>>>>>> psy_branch
form = BlogUserChangeForm
# 指定添加用户时使用的表单
add_form = BlogUserCreationForm
@ -116,6 +157,7 @@ class BlogUserAdmin(UserAdmin):
'last_login',
'date_joined',
'source')
<<<<<<< HEAD
# 列表页中可点击的字段(用于进入详情页)
list_display_links = ('id', 'username')
# 默认排序方式(按 ID 降序)
@ -157,3 +199,7 @@ class BlogUserAdmin(UserAdmin):
user.save()
# 返回用户对象
return user
=======
list_display_links = ('id', 'username')# 定义在列表页中,哪些字段可以点击进入详情页
ordering = ('-id',)# 定义列表页的默认排序字段,'-id' 表示按 ID 降序排列(即最新的用户在最前面)
>>>>>>> psy_branch

Loading…
Cancel
Save