我的博客开发027


在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邮箱有关

最后部署到互联网的方法:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理