【Django2.0学习笔记】34.评论发送邮件通知

34、评论发送邮件通知

1、利用邮件提高访问量

  • 进一步发挥邮箱作用
  • 一旦被评论(回复)了,发邮件通知,让用户再次访问我们的网站
    在这里插入图片描述

在comment/views.py中的update_comment,我们提交评论之后,就可以发送邮件。该怎么发送邮件通知分两种情况:一种是评论博客的,一种是回复评论的。我们可以通过parent进行判断,如果有parent,说明是回复评论的。修改如下(其中的send_email,参考user/views.py中的send_email):
在这里插入图片描述
text = comment.text + '\n' + reverse('blog_detail', kwargs={'blog_pk': comment.content_object.pk}) # 反向解析得到链接这里,这个地方不一定是个博客,这样写有点违背comment_object的初衷,我们设计这个的初衷是让它可以评论任何对象,但我们这里解析这个链接的时候,已经规定成一个博客了,又把它限制成一个博客的模型里面,这很不符合我们的这个设计,这要怎么处理呢?
最好这个链接可以通过comment_object得到,而comment_object是一个具体的对象,那我们可以考虑在blog/models.py的Blog模型这里,它可以实例化出来一个对象,我们可以加多一个方法(参数email同理)
修改blog/models.py如下:
在这里插入图片描述
然后重新修改comment/views.py如下:
在这里插入图片描述
在这里插入图片描述
简化如下:
在这里插入图片描述

# 发送邮件通知
if comment.parent is None:
	# 评论博客的
	subject = '有人评论你的博客'
	email = comment.content_object.get_email()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值