django - 如何通过从序列化程序获取 DRF API 的数据来使用 send_mass_mail()
问题描述
我正在尝试制作一个 django rest 框架 Api 来向多个人发送邮件。这是我的模型.py
from django.db import models
# Create your models here.
class EmailRecipients(models.Model):
recipient_email= models.CharField(max_length=100)
def __str__(self):
return self.recipient_email
和 serializers.py 中相同的序列化程序
from rest_framework import serializers
from .models import EmailRecipients
class EmailRecipientsSerializer(serializers.ModelSerializer):
class Meta:
model = EmailRecipients
fields = '__all__'
在我的 apiviews.py 中,我有一个用于显示和发布收件人电子邮件列表的视图,但我想定义一个能够获取此列表并使用 django 中的 send_mass_mail() 方法将其发送到上述所有内容的函数。
from .models import EmailRecipients
from rest_framework import generics
from .serializers import EmailRecipientsSerializer
from django.core.mail import send_mail
from microservice.settings import EMAIL_HOST_USER
from django.http import JsonResponse,HttpResponse
class EmailRecipientList(generics.ListCreateAPIView):
queryset= EmailRecipients.objects.all()
serializer_class = EmailRecipientsSerializer
def sendmail(request):
serializer = EmailRecipientsSerializer(data=request.data)
email = 'abcd@gmail.com'
if serializer.is_valid():
serializer.save()
email = serializer.data['recipient_email']
subject = 'Welcome to the microservice'
message = 'Try more'
recepient = email
send_mail(subject,message,EMAIL_HOST_USER,[recepient],fail_silently=False)
return HttpResponse('sent successfully')
我尝试编写代码以发送给单个收件人,但这也不起作用。我也不确定serializer = EmailRecipientsSerializer(data=request.data)
会包含什么。
请帮助,刚刚开始使用 DRF。
解决方案
推荐阅读
- php - 如何使用注册表删除表(SQL 注入)(已关闭)
- regex - 为什么在 Ruby 中 Regexp 对象被认为是“虚假的”?
- java - NT3H2111 nfc芯片如何选择扇区
- php - 在 owncloud 中使用 CURL 恢复上传
- firebase - 如何在 Flutter 上获取 Cloud Firestore 上的文档 ID
- python-3.x - 如何在标点符号之间找到包含特定搜索词的句段
- sql - DB 比较器索引超出了数组的范围
- javascript - 滚动到末尾带有斜线的锚点
- python - 使用 numpy 打印二项式系数
- c# - 如何通过 WebRequest 发送大型帖子字符串数据?