J'ai un signal create_user_profile et j'aimerais utiliser le même signal pour envoyer un message de bienvenue à l'utilisateur.Django envoie un e-mail de bienvenue après que l'utilisateur a créé des signaux
C'est ce que je l'ai écrit à ce jour dans mon signals.py:
@receiver(post_save, sender=User)
def update_user_profile(sender, instance, created, **kwargs):
if created:
UserProfile.objects.create(user=instance)
instance.profile.save()
subject = 'Welcome to MyApp!'
from_email = '[email protected]'
to = instance.email
plaintext = get_template('email/welcome.txt')
html = get_template('email/welcome.html')
d = Context({'username': instance.username})
text_content = plaintext.render(d)
html_content = html.render(d)
try:
msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.attach_alternative(html_content, "text/html")
msg.send()
except BadHeaderError:
return HttpResponse('Invalid header found.')
Ce échoue avec cette erreur:
TypeError at /signup/
context must be a dict rather than Context.
pointant vers le forms.save dans mon point de vue. fichier py. Pouvez-vous m'aider à comprendre ce qui ne va pas ici?
qui fonctionne très bien, merci :) – davideghz