【发布时间】:2020-07-10 14:23:16
【问题描述】:
我希望有人能够提供帮助。我是 Django 的新手,在使用 CBV DeleteView 后难以发送电子邮件。这是我的模型:
class Bookings(models.Model):
service = models.CharField(max_length=255, null=True)
your_email = models.EmailField()
name = models.CharField(max_length=155)
date = models.DateField()
time = models.TimeField()
user = models.ForeignKey(CustomUser,
on_delete=models.CASCADE)
def __str__(self):
return self.your_email
def get_absolute_url(self):
return reverse('booking_list')
这是我的观点:
class BookingDeleteView(DeleteView):
model = Bookings
template_name = 'booking_delete.html'
context_object_name = 'booking'
success_url = reverse_lazy('booking_list')
def delete(self, request, *args, **kwargs):
self.object = self.get_object()
success_url = self.get_success_url()
send_mail(
subject='CANCELLATION!!',
message=str(Bookings.service) + str(Bookings.date) +/
str(Bookings.time),
from_email=Bookings.your_email,
recipient_list=['testadmin@admin.com']
)
self.object.delete()
return HttpResponseRedirect(success_url)
不幸的是,我只获得了电子邮件中数据的位置,以下是收到的电子邮件的示例:
Subject: CANCELLATION!!
web_1 | From: <django.db.models.query_utils.DeferredAttribute object at
web_1 | 0x7ff230211e50>
web_1 | To: testadmin@admin.com
web_1 | Date: Fri, 10 Jul 2020 14:15:29 -0000
web_1 | Message-ID: <159439052931.455.4373660896961612525@992781d7c153>
web_1 |
web_1 | <django.db.models.query_utils.DeferredAttribute object at 0x7ff230211df0><django.db.models.query_utils.DeferredAttribute object at 0x7ff230211f10><django.db.models.query_utils.DeferredAttribute object at 0x7ff230211d60>
这并不理想。我想这可能是我错过的一些愚蠢的事情,但就像我说的我很新,我几乎尝试了所有东西,但没有任何效果。有人可以帮帮我吗?
【问题讨论】:
标签: django django-models django-class-based-views