diff --git a/doc/2315304418-四班-杨美琪 软件界面设计说明书.docx b/doc/2315304418-四班-杨美琪 软件界面设计说明书.docx new file mode 100644 index 0000000..970c291 Binary files /dev/null and b/doc/2315304418-四班-杨美琪 软件界面设计说明书.docx differ diff --git a/src/django-master/accounts/forms.py b/src/django-master/accounts/forms.py index fce4137..2d47d28 100644 --- a/src/django-master/accounts/forms.py +++ b/src/django-master/accounts/forms.py @@ -1,23 +1,32 @@ -from django import forms -from django.contrib.auth import get_user_model, password_validation -from django.contrib.auth.forms import AuthenticationForm, UserCreationForm -from django.core.exceptions import ValidationError -from django.forms import widgets -from django.utils.translation import gettext_lazy as _ -from . import utils -from .models import BlogUser +from django import forms #导入 Django 表单模块,用于创建自定义表单类。 +from django.contrib.auth import get_user_model, password_validation #get_user_model 用于获取项目中自定义的用户模型(遵循 Django 推荐的用户模型扩展方式)。 + + +from django.contrib.auth.forms import AuthenticationForm, UserCreationForm #UserCreationForm:导入 Django 内置的认证表单(AuthenticationForm 用于登录)和用户创建表单(UserCreationForm 用于注册),作为自定义表单的基类。 +from django.core.exceptions import ValidationError #导入 Django 的验证异常类,用于在表单验证时抛出自定义错误。 +from django.forms import widgets #导入 Django 表单的小部件模块,用于自定义表单字段的渲染样式(如输入框类型、样式类等)。 + +from django.utils.translation import gettext_lazy as _ #导入 Django 的延迟翻译函数,用于表单字段标签、错误提示的国际化翻译。 + +from . import utils #导入当前应用下的 utils 模块(假设包含工具类或函数,此处代码未展示具体使用)。 +from .models import BlogUser #导入当前应用下定义的 BlogUser 模型(自定义用户模型)。 + + +class LoginForm(AuthenticationForm): #继承 Django 内置的 AuthenticationForm,自定义登录表单的样式和逻辑。 + def __init__(self, *args, **kwargs): #重写构造方法,用于自定义表单字段的小部件属性。 + + super(LoginForm, self).__init__(*args, **kwargs) #调用父类构造方法,确保基础功能正常。 -class LoginForm(AuthenticationForm): - def __init__(self, *args, **kwargs): - super(LoginForm, self).__init__(*args, **kwargs) self.fields['username'].widget = widgets.TextInput( - attrs={'placeholder': "username", "class": "form-control"}) + attrs={'placeholder': "username", "class": "form-control"}) #为用户名字段设置文本输入小部件,定义占位符和 Bootstrap 样式类(form-control)。 self.fields['password'].widget = widgets.PasswordInput( - attrs={'placeholder': "password", "class": "form-control"}) + attrs={'placeholder': "password", "class": "form-control"}) #为密码字段设置密码输入小部件,同样定义占位符和样式类。 + + +class RegisterForm(UserCreationForm): #继承 Django 内置的 UserCreationForm,自定义注册表单的字段、样式和验证逻辑。 -class RegisterForm(UserCreationForm): def __init__(self, *args, **kwargs): super(RegisterForm, self).__init__(*args, **kwargs)