You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
2.9 KiB
133 lines
2.9 KiB
---
|
|
config:
|
|
layout: elk
|
|
---
|
|
|
|
classDiagram
|
|
%% 模型类
|
|
class BlogUser {
|
|
+String nickname
|
|
+DateTime creation_time
|
|
+DateTime last_modify_time
|
|
+String source
|
|
+get_absolute_url()
|
|
+get_full_url()
|
|
}
|
|
|
|
%% 表单类
|
|
class BlogUserCreationForm {
|
|
+CharField password1
|
|
+CharField password2
|
|
+clean_password2()
|
|
+save()
|
|
}
|
|
|
|
class BlogUserChangeForm {
|
|
+__init__()
|
|
}
|
|
|
|
class LoginForm {
|
|
+__init__()
|
|
}
|
|
|
|
class RegisterForm {
|
|
+__init__()
|
|
+clean_email()
|
|
}
|
|
|
|
class ForgetPasswordForm {
|
|
+CharField new_password1
|
|
+CharField new_password2
|
|
+EmailField email
|
|
+CharField code
|
|
+clean_new_password2()
|
|
+clean_email()
|
|
+clean_code()
|
|
}
|
|
|
|
class ForgetPasswordCodeForm {
|
|
+EmailField email
|
|
}
|
|
|
|
%% 视图类
|
|
class RegisterView {
|
|
+form_valid()
|
|
}
|
|
|
|
class LogoutView {
|
|
+get()
|
|
}
|
|
|
|
class LoginView {
|
|
+get_context_data()
|
|
+form_valid()
|
|
+get_success_url()
|
|
}
|
|
|
|
class ForgetPasswordView {
|
|
+form_valid()
|
|
}
|
|
|
|
class ForgetPasswordEmailCode {
|
|
+post()
|
|
}
|
|
|
|
%% 认证后端
|
|
class EmailOrUsernameModelBackend {
|
|
+authenticate()
|
|
+get_user()
|
|
}
|
|
|
|
%% 应用配置
|
|
class AccountsConfig
|
|
|
|
%% 测试类
|
|
class AccountTest
|
|
|
|
%% 工具函数
|
|
class utils {
|
|
+send_verify_email()
|
|
+verify()
|
|
+set_code()
|
|
+get_code()
|
|
}
|
|
|
|
%% 继承关系
|
|
BlogUser --|> AbstractUser
|
|
BlogUserCreationForm --|> ModelForm
|
|
BlogUserChangeForm --|> UserChangeForm
|
|
LoginForm --|> AuthenticationForm
|
|
RegisterForm --|> UserCreationForm
|
|
ForgetPasswordForm --|> Form
|
|
ForgetPasswordCodeForm --|> Form
|
|
RegisterView --|> FormView
|
|
LogoutView --|> RedirectView
|
|
LoginView --|> FormView
|
|
ForgetPasswordView --|> FormView
|
|
ForgetPasswordEmailCode --|> View
|
|
EmailOrUsernameModelBackend --|> ModelBackend
|
|
AccountsConfig --|> AppConfig
|
|
AccountTest --|> TestCase
|
|
|
|
%% 关联关系
|
|
BlogUserCreationForm --> BlogUser : 创建
|
|
BlogUserChangeForm --> BlogUser : 修改
|
|
RegisterForm --> BlogUser : 注册
|
|
ForgetPasswordForm --> BlogUser : 重置密码
|
|
RegisterView --> RegisterForm : 使用
|
|
LoginView --> LoginForm : 使用
|
|
ForgetPasswordView --> ForgetPasswordForm : 使用
|
|
ForgetPasswordEmailCode --> ForgetPasswordCodeForm : 使用
|
|
EmailOrUsernameModelBackend --> BlogUser : 认证
|
|
AccountTest --> BlogUser : 测试
|
|
AccountTest --> utils : 测试
|
|
ForgetPasswordForm --> utils : 验证
|
|
ForgetPasswordEmailCode --> utils : 发送邮件
|
|
RegisterView --> utils : 发送邮件
|
|
|
|
%% 依赖关系
|
|
views ..> utils : 导入
|
|
forms ..> BlogUser : 导入
|
|
tests ..> BlogUser : 导入
|
|
tests ..> utils : 导入
|
|
admin ..> BlogUser : 导入 |