django - 在 django 中实现多电子邮件系统的最简洁方法?

标签 django email

大家好,我很确定这是一个相当普遍的问题。 因此,为了注册我的网站帐户,您需要来自特定学校域(例如 Facebook)的电子邮件地址。在您开始将其他应用程序(例如 django-notification、django-registration 和 django-socialregistration)集成到您的网站(通过 user.email 发送电子邮件)之前,这不会是一个大问题。

我问过我的用户,他们中的大多数人都想要一个“active_email”选项 - 这意味着他们可以将电子邮件更改为他们指定的 gmail 或其他任何名称。

我提出了以下解决方案,但它并不是最干净的: 首先,我继承 django.contrib.auth 中的 User 并将这个新类称为 MultipleEmailUser,其中 email=active_email 和ficial_email=sch_email。

然后我重写 django.contrib.auth 的 UserManager 来稍微更改 API, 而最痛苦的部分是将所有具有 User.object.find() 的源代码更改为 MultipleEmailUser.find()。

有人可以建议我一种更干净的方法吗? (我最头痛的是其他应用程序只允许向 User.email 发送电子邮件。)

最佳答案

您不需要或不想修改 User 类。只需设置一个带有 OneToOneField 的 UserProfile 类返回 User,然后设置 AUTH_PROFILE_MODULE 即可。请参阅the documentation .

关于django - 在 django 中实现多电子邮件系统的最简洁方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4688893/

相关文章:

html - Outlook 2010 电子邮件模板中的表格问题

css - HTML 电子邮件 - Outlook.com/Hotmail CSS 覆盖样式

linux - 使用 Bash 脚本输出邮件

CodeIgniter 将电子邮件放在全局函数中

mysql - 检索电子邮件并将其存储在 MySQL 中

django - 我得到AttributeError : 'SubscriptionForm' object has no attribute 'model' when I try runserver and makemigrations

django - 是否可以更改 Django 中的 management/commands 目录?

django - 如何在 Django 模型中轻松地将记录标记为已删除,而不是实际删除它们?

python - 跨线程共享 Django 事务

python - 如何获得 MINIO 访问权限和 key ?