我的博客开发(027)

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

阅读 141

推荐阅读
我的Django开发
用户专栏

开发一个我的博客网站,一是为了玩,另一方面也是为了助力找工作

2 人关注
31 篇文章
专栏主页