django - Django Allauth - 将上下文添加到密码重置电子邮件
问题描述
对于这个项目,我使用 Django Allauth 来让用户注册和验证。
要将用户“first_name”添加到确认电子邮件链接的上下文中,我继承自 DefaultAccountAdapter 并将 first_name 添加到电子邮件上下文中。
#adapter.py
class CustomEmailAdapter(DefaultAccountAdapter):
def get_email_confirmation_url(self, request, emailconfirmation):
"""Constructs the email confirmation (activation) url.
Note that if you have architected your system such that email
confirmations are sent outside of the request context `request`
can be `None` here.
"""
url = reverse(
"account_confirm_email",
args=[emailconfirmation.key])
ret = build_absolute_uri(
request,
url)
return ret
def send_confirmation_mail(self, request, emailconfirmation, signup):
current_site = get_current_site(request)
activate_url = self.get_email_confirmation_url(
request,
emailconfirmation)
ctx = {
"first_name": emailconfirmation.email_address.user.first_name, # <-- Added first_name to the context
"user": emailconfirmation.email_address.user,
"activate_url": activate_url,
"current_site": current_site,
"key": emailconfirmation.key,
}
if signup:
email_template = 'account/email/email_confirmation_signup'
else:
email_template = 'account/email/email_confirmation'
self.send_mail(email_template,
emailconfirmation.email_address.email, ctx)
我现在想对密码重置电子邮件执行相同的操作,但我认为不可能将其添加到自定义 AccountAdpater。
任何想法如何为密码重置电子邮件添加一些上下文,我想以“亲爱的约翰”开始我的电子邮件
提前致谢!
解决方案
推荐阅读
- ios - 如何避免崩溃“应用程序处于后台状态时的 OpenGL 渲染”
- ansible - Ansible:从查找结果中排除项目
- javascript - 如何验证nodejs中的jwt令牌/永不过期?
- c# - 如何解决“将服务传递给组件类的构造函数后,Web 应用程序不工作”
- python - 遍历 pandas 中的数据框行
- java - 如何在 Java 中创建具有相同类型参数的方法?
- mysql - MySQL Workbench 报告“对于此服务器版本在此位置无效”错误
- html - 创建一个 HTML 锚链接以从下拉菜单中预先选择一个选项
- javascript - 自动将浮动 div 的宽度固定为图像大小
- reactjs - 为什么我的跟踪状态历史的 React 组件没有视觉呈现?