Dav*_*win 3 django django-signals angularjs django-rest-framework
一旦POST成功完成,我想发送电子邮件.似乎有意义的是,电子邮件将通过信号完成.我可以自己编写,如下所示:https://docs.djangoproject.com/en/1.6/topics/signals/#defining-and-sending-signals
但是,我无法弄清楚的是:
建议欢迎.
还有,有人用Angular这样做吗?有没有一种简单的方法可以做到这一点,我没有看到?
旧版Django的旧问题,但如果有人碰到它......没有必要使用信号.Django现在具有内置功能send_mail.这是文档:
https://docs.djangoproject.com/en/1.8/topics/email/
因此,您将使用该功能来创建和发送电子邮件.它甚至可以接受HTML模板作为消息参数,并用Django数据填充它,这很好.
所以你要定义一个包含这个方法的函数,例如:
def email_client(request):
id = request.POST.get('id')
client = Client.objects.get(id=id)
msg_html = render_to_string('templates/email.html', {'client': client})
template_email_text = ''
return send_mail('Lelander work samples', template_email_text, 'test@emailsender.com', ['test@emailrecipient.com'], html_message=msg_html, fail_silently=False)
Run Code Online (Sandbox Code Playgroud)
并在DRF API视图中包含该功能post:
class ClientList(generics.ListCreateAPIView):
queryset = Client.objects.all()
serializer_class = ClientSerializer
def get(self, request, *args, **kwargs):
return self.list(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
email_client(request)
return self.create(request, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4722 次 |
| 最近记录: |