Mezzanine 可以在用户注册时向管理员发送电子邮件吗?
Posted
技术标签:
【中文标题】Mezzanine 可以在用户注册时向管理员发送电子邮件吗?【英文标题】:Can Mezzanine send an email to admin when a user signs up? 【发布时间】:2017-06-01 22:00:30 【问题描述】:是否有任何方法可以配置 Mezzanine,以便管理员用户在新(常规)用户注册时收到电子邮件?我有 ACCOUNTS_VERIFICATION_REQUIRED=True
,因此潜在用户会收到一封电子邮件,但我不想自己批准帐户 (ACCOUNTS_APPROVAL_REQUIRED
)。
如果开箱即用无法做到这一点,我是否需要自定义 accounts
应用程序?还是猴子补丁UserProfileAdmin.save_model
?最好的方法是什么?
【问题讨论】:
我不知道是否有更简单的解决方案,但在你去猴子修补 anysave_model
Django 方法之前,请考虑使用 @987654327 @ 或 post_save
信号。 docs.djangoproject.com/en/stable/topics/signals
【参考方案1】:
为了结束,这是我在夹层用户邮件列表中或多或少从 Steve MacDonald 本人那里得到的解决方案。设置ACCOUNTS_PROFILE_FORM_CLASS
允许为用户配置文件注册/更新指定自定义表单类。所以,在settings.py
中设置:
ACCOUNTS_PROFILE_FORM_CLASS = "myapp.forms.MyCustomProfileForm"
然后在myapp.forms.py
发送电子邮件保存:
from mezzanine.accounts.forms import ProfileForm
class MyCustomProfileForm(ProfileForm):
def save(self, *args, **kwargs):
user = super(MyCustomProfileForm, self).save(*args, **kwargs)
if self._signup:
# send email here
return user
这对我来说效果很好。
【讨论】:
以上是关于Mezzanine 可以在用户注册时向管理员发送电子邮件吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在点击FB like按钮时向Facebook用户发送电子邮件?