Merge pull request '个人注释' (#22) from hyy_branch into develop

gq_branch
pwe53ixz6 3 months ago
commit be17e11558

@ -0,0 +1,6 @@
projectKey=DjangoBlog3
serverUrl=http://localhost:9000
serverVersion=25.11.0.114957
dashboardUrl=http://localhost:9000/dashboard?id=DjangoBlog3
ceTaskId=dda54cf7-c33c-4991-95ee-91be04fa807a
ceTaskUrl=http://localhost:9000/api/ce/task?id=dda54cf7-c33c-4991-95ee-91be04fa807a

@ -4,25 +4,51 @@ from django.urls import re_path
from . import views
from .forms import LoginForm
# 指定命名空间,方便在模板或其他地方反向解析 URL
app_name = "accounts"
urlpatterns = [re_path(r'^login/$',
views.LoginView.as_view(success_url='/'),
name='login',
kwargs={'authentication_form': LoginForm}),
re_path(r'^register/$',
views.RegisterView.as_view(success_url="/"),
name='register'),
re_path(r'^logout/$',
views.LogoutView.as_view(),
name='logout'),
path(r'account/result.html',
views.account_result,
name='result'),
re_path(r'^forget_password/$',
views.ForgetPasswordView.as_view(),
name='forget_password'),
re_path(r'^forget_password_code/$',
views.ForgetPasswordEmailCode.as_view(),
name='forget_password_code'),
]
# URL 配置列表
urlpatterns = [
# 登录页面
re_path(
r'^login/$', # 匹配 URL /login/
views.LoginView.as_view(success_url='/'), # 使用自定义 LoginView登录成功后跳转到主页 '/'
name='login', # URL 名称,反向解析使用
kwargs={'authentication_form': LoginForm} # 使用自定义登录表单 LoginForm
),
# 注册页面
re_path(
r'^register/$', # 匹配 URL /register/
views.RegisterView.as_view(success_url="/"), # 注册成功后跳转到主页 '/'
name='register'
),
# 登出页面
re_path(
r'^logout/$', # 匹配 URL /logout/
views.LogoutView.as_view(), # 使用 Django 内置 LogoutView
name='logout'
),
# 账户操作结果页面(如修改信息后的结果展示)
path(
r'account/result.html', # 匹配 URL /account/result.html
views.account_result, # 调用 account_result 函数视图
name='result'
),
# 忘记密码页面
re_path(
r'^forget_password/$', # 匹配 URL /forget_password/
views.ForgetPasswordView.as_view(), # 使用 ForgetPasswordView 类视图
name='forget_password'
),
# 发送忘记密码验证码
re_path(
r'^forget_password_code/$', # 匹配 URL /forget_password_code/
views.ForgetPasswordEmailCode.as_view(), # 使用 ForgetPasswordEmailCode 类视图处理发送验证码
name='forget_password_code'
),
]

@ -1,26 +1,61 @@
from django.contrib.auth import get_user_model
from django.contrib.auth.backends import ModelBackend
class EmailOrUsernameModelBackend(ModelBackend):
"""
允许使用用户名或邮箱登录
自定义认证后端允许用户使用 **用户名或邮箱** 登录
功能说明
1. 用户可以在登录框中输入用户名或邮箱
2. 系统会自动判断输入内容中是否包含 '@'
- 如果有 '@'认为是邮箱使用 email 字段查找用户
- 如果没有 '@'认为是用户名使用 username 字段查找用户
3. 验证密码正确后返回对应的 User 对象
4. 如果用户不存在或密码错误返回 None
"""
def authenticate(self, request, username=None, password=None, **kwargs):
"""
重写认证方法
参数
- request: 当前请求对象
- username: 用户输入的用户名或邮箱
- password: 用户输入的密码
- **kwargs: 其他可选参数
返回值
- User 对象认证成功
- None认证失败
"""
# 判断输入的是邮箱还是用户名
if '@' in username:
kwargs = {'email': username}
kwargs = {'email': username} # 邮箱登录
else:
kwargs = {'username': username}
kwargs = {'username': username} # 用户名登录
try:
# 根据条件获取用户对象
user = get_user_model().objects.get(**kwargs)
# 验证密码
if user.check_password(password):
return user
except get_user_model().DoesNotExist:
# 用户不存在,返回 None
return None
def get_user(self, username):
def get_user(self, user_id):
"""
根据用户 ID 获取 User 对象
参数
- user_id: 用户的主键 ID
返回值
- User 对象存在
- None不存在
"""
try:
return get_user_model().objects.get(pk=username)
return get_user_model().objects.get(pk=user_id)
except get_user_model().DoesNotExist:
return None

@ -0,0 +1,47 @@
212afac (HEAD -> hyy_branch, origin/hyy_branch) merge develop &手动加注释'
0477027 oauth注释
2b451b4 Merge pull request '合并个人代码注释' (#15) from my_branch into develop
8561ef5 补充migrations文件代码注释
3f778ab Merge pull request '代码注释' (#14) from gq_branch into develop
f641a52 merge develop & 手动注释
7f4f413 Merge pull request '第六周个人实践任务' (#13) from zrp_branch into develop
0b382f5 第六周个人实践任务
e281e56 Merge pull request '代码注释' (#12) from gq_branch into develop
632ac91 merge develop & 手动注释
0317e95 Merge pull request '合并个人代码注释' (#11) from my_branch into develop
97580a9 补充注释
de7ab44 Merge pull request '第五周个人实践任务' (#10) from zrp_branch into develop
6cf665e 第五周代码注释
8351c49 Merge pull request 'accounth注释&模型字段&static补充' (#9) from hyy_branch into develop
ad16f45 add blog/static files
e1d0e5e merge develop &account加注释2&生成模型字段表
8dd8232 Merge pull request '代码注释' (#8) from gq_branch into develop
cd4de20 Merge pull request '第五周个人实践任务' (#7) from zrp_branch into develop
ee14e71 merge develop & 手动加注释
13d565b merge develop & 手动加注释
78b34b2 Merge pull request '合并个人代码注释' (#6) from my_branch into develop
b0936c0 添加注释
a8948bc Merge pull request 'accounth注释' (#5) from hyy_branch into develop
5854b4e account: 补充注释
d961cd1 merge develop & 保留整套代码
4522284 account增加注释
b330bf8 (origin/master) Merge pull request '合并分项工作到develop分支' (#4) from zrp_branch into develop
e10fa45 Merge pull request '合并分项工作到develop分支' (#3) from wxr_branch into develop
94c9637 Merge pull request '合并分项工作到develop分支' (#2) from gq_branch into develop
0c87743 Merge pull request '合并分项工作到develop分支' (#1) from my_branch into develop
22600a0 上传文件到远程 zrp_branch
c07d263 上传第四周任务
fbe60ca 上传第四周任务
5a2f7c5 上传文件到远程 gq_branch
6dac1cc 上传文件到远程zrp_branch
8623ec3 上传文件到远程 gq_branch
a2a323b Merge branch 'wxr_branch' of https://bdgit.educoder.net/pwe53ixz6/DjangoBlog into wxr_branch
076fef0 新增测试上传文件
fd754d9 新增测试上传文件
7bda1cf 上传文件到远程 develop
792ea01 上传文件到远程 wxr_branch
e5cd1d7 上传文件到远程 my_branch
a70efd4 新增测试上传文件
1c2f60f Add .github
6188b19 ADD file via upload
7f57763 (origin/src, origin/doc) Initial commit

@ -0,0 +1,11 @@
sonar.projectKey=DjangoBlog
sonar.projectName=DjangoBlog
sonar.projectVersion=1.0
sonar.sources=.
sonar.language=py
sonar.sourceEncoding=UTF-8
sonar.python.coverage.reportPaths=coverage.xml
# ?? SonarQube ??
sonar.host.url=http://localhost:9000
Loading…
Cancel
Save