Почему возникает ошибки при подключении celery к отправке на почту при passord_reset?
Я пытаюсь подключить celery таску для отправки на почту при сбросе пароля. Использую вьюхи django(PasswordResetView). Я создал форму и наследовался от PasswordResetForm. Переопределил метод send_mail, который отпраляет сообщение на почту.
class CustomResetPasswordForm(PasswordResetForm):
email = forms.EmailField(widget=forms.EmailInput(attrs={'class': 'form_control'}))
def send_mail(self, subject_template_name, email_template_name,
context, from_email, to_email, html_email_template_name=None):
send_email_for_reset_password.apply_async(args=[subject_template_name, email_template_name,
context, from_email, to_email, html_email_template_name])
Логику отправки я поместил в таску send_email_for_reset_password
def send_email_for_reset_password(subject_template_name, email_template_name,
context, from_email, to_email, html_email_template_name):
"""
Send a django.core.mail.EmailMultiAlternatives to `to_email`.
"""
subject = loader.render_to_string(subject_template_name, context)
# Email subject *must not* contain newlines
subject = ''.join(subject.splitlines())
body = loader.render_to_string(email_template_name, context)
email_message = EmailMultiAlternatives(subject, body, from_email, [to_email])
if html_email_template_name is not None:
html_email = loader.render_to_string(html_email_template_name, context)
email_message.attach_alternative(html_email, 'text/html')
email_message.send()
Но возникает ошибка
EncodeError at /user/password_reset/
Object of type CustomUser is not JSON serializable
Так же я пытался только email_message.send(), но ошибка та же. Что я делаю не так?