From 003b4e69aa1db9277ed1a1f987cb114d7ae29a0d Mon Sep 17 00:00:00 2001 From: pql56kzg7 <3428067998@qq.com> Date: Fri, 7 Nov 2025 21:09:29 +0800 Subject: [PATCH] Delete 'utils.py' --- utils.py | 70 -------------------------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 utils.py diff --git a/utils.py b/utils.py deleted file mode 100644 index 607b172..0000000 --- a/utils.py +++ /dev/null @@ -1,70 +0,0 @@ -# 导入类型提示模块 -import typing -# 导入时间间隔类 -from datetime import timedelta - -# 导入Django缓存框架 -from django.core.cache import cache -# 导入国际化翻译函数 -from django.utils.translation import gettext -# 导入延迟翻译函数 -from django.utils.translation import gettext_lazy as _ - -# 导入发送邮件的工具函数 -from djangoblog.utils import send_email - -# 验证码有效期:5分钟 -_code_ttl = timedelta(minutes=5) - - -def send_verify_email(to_mail: str, code: str, subject: str = _("Verify Email")): - """发送验证邮件,用于密码重置等场景 - - Args: - to_mail: 接收邮件的邮箱地址 - subject: 邮件主题,默认为"验证邮箱" - code: 验证码内容 - """ - # 构建邮件HTML内容,包含验证码信息 - html_content = _( - # 翻译文本:您正在重置密码,验证码是:{code},5分钟内有效,请妥善保管 - "You are resetting the password, the verification code is:%(code)s, valid within 5 minutes, please keep it " - "properly" - ) % {'code': code} # 将code插入到格式化字符串中 - # 调用发送邮件函数 - send_email([to_mail], subject, html_content) - - -def verify(email: str, code: str) -> typing.Optional[str]: - """验证验证码是否有效 - - Args: - email: 请求验证的邮箱地址 - code: 用户输入的验证码 - - Return: - 如果验证失败返回错误信息字符串,验证成功返回None - - Note: - 这里的错误处理不太合理,应该采用raise抛出异常 - 否则调用方也需要对error进行处理 - """ - # 从缓存中获取该邮箱对应的验证码 - cache_code = get_code(email) - # 比较缓存中的验证码和用户输入的验证码 - if cache_code != code: - # 如果不匹配,返回错误信息 - return gettext("Verification code error") - # 验证成功,返回None - - -def set_code(email: str, code: str): - """将验证码设置到缓存中""" - # 使用cache.set方法,key为邮箱,value为验证码,设置过期时间 - cache.set(email, code, _code_ttl.seconds) - - -def get_code(email: str) -> typing.Optional[str]: - """从缓存中获取验证码""" - # 使用cache.get方法,根据邮箱获取验证码 - return cache.get(email) \ No newline at end of file