image.png
在comment/views.py中update\_comment方法中增加发送邮件通知的代码,首先要看是回复我的评论还是对博文进行评论,分辨方法就是看他有没有Parent:reverse用于将变量反向解析得出其链接;
image.png
然后再blog/models.py中使用reverse方法反向解析并返回对应的blog_pk值:
image.png
同样再models.py中增加一个get_email返回给视图函数
image.png
但是现在因为发送邮件需要等待一下,比较耗时,所以使用异步操作:
image.png
在comment/models.py中使用多线程,并增加send\_mail方法来发送邮件
image.png
image.png
views.py中修改send\_mail方法,
新功能:
image.png
发送过来的邮件内容:样式比较难看
image.png
再comment/models.py中的run函数中增加html\_message字段:
image.png
然后在send_mail方法中的text增加内容:
image.png
但是当我们的html比较复杂时,这里的text的内容就显得很乱了,可以调用模板来生成一个html,在comment/models.py中增加: from django.template.loader import render_to_string:
在comment中创建一个templates文件夹,然后再在里面创建一个comment文件夹(和user中的templates/user原理一样):然后再comment/templates/comment中创建一个send_mail.html文件:
image.png
在comment/models.py中使用render\_to\_string方法调用上面的send\_mail.html模板:

但是这里使用render\_to\_string可能会在我们的评论上自动增加一个p标签(在发给我们的邮件中),这里没找见原因:怀疑可能和qq邮箱有关
image.png
最后部署到互联网的方法:
image.png


笨小孩
20 声望3 粉丝

你,要怎样度过这一生?有的人二十岁已经死了,有的人七十岁还在发现生命的可能,有人终其一生,不知道自己要的是什么;有人简单执拗,终其一生;忠于自我未必有结果,坚持努力也不一定换来成功,但有天,回望过...