在comment/views.py中update\_comment方法中增加发送邮件通知的代码,首先要看是回复我的评论还是对博文进行评论,分辨方法就是看他有没有Parent:reverse用于将变量反向解析得出其链接;
然后再blog/models.py中使用reverse方法反向解析并返回对应的blog_pk值:
同样再models.py中增加一个get_email返回给视图函数
但是现在因为发送邮件需要等待一下,比较耗时,所以使用异步操作:
在comment/models.py中使用多线程,并增加send\_mail方法来发送邮件
views.py中修改send\_mail方法,
新功能:
发送过来的邮件内容:样式比较难看
再comment/models.py中的run函数中增加html\_message字段:
然后在send_mail方法中的text增加内容:
但是当我们的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文件:
在comment/models.py中使用render\_to\_string方法调用上面的send\_mail.html模板:
但是这里使用render\_to\_string可能会在我们的评论上自动增加一个p标签(在发给我们的邮件中),这里没找见原因:怀疑可能和qq邮箱有关
最后部署到互联网的方法:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。