覆盖django-registration中的发送激活邮件

时间:2013-12-02 10:51:26

标签: django django-models django-registration

我想覆盖django-registration app中的send_activation_email,以便能够发送带有html内容而不仅仅是文本的邮件。 请注意,此功能在RegistrationManager模型的模型中定义。

提前多多感谢。

2 个答案:

答案 0 :(得分:1)

使用自定义模型,例如:

from registration.models import RegistrationProfile


class CustomRegistrationProfile(RegistrationProfile):
    """
    Custom registration profile
    """

    class Meta:
        proxy = True

    def send_activation_email(self, site):
        """
        Override method for custom send email
        """

或者,这样的方法覆盖:

from registration.models import RegistrationProfile

def send_activation_email(self, site):
    """
    Override method for custom send email
    """

RegistrationProfile.send_activation_email = send_activation_email

答案 1 :(得分:0)

由于RegistrationProfile是一个类,您可以像平常一样覆盖它。因此,您可以创建一个应用程序(或只是一个文件)并创建一个新的代理模型,它将使用您的HTML电子邮件。 (https://docs.djangoproject.com/en/dev/topics/db/models/#proxy-models

上次我不得不做类似的事情时,我更改了activation_email.txt文件。这是一个更快的解决方案。

虽然可能有一个更简单的选择。