Collect from 追梦人物的博客
Modified by ACool

Django 博客添加 Disqus 评论系统

前言

博客评论改成了 Disqus 评论系统,这已经算是我见过的最好的评论系统,比之前那个手写的不知道高到哪里去了,美中不足就是这个评论系统被墙了,要翻出去才行,我这种时时刻刻都在梯子上的人感觉没什么影响,结果刚刚没翻测试了一下,博客整体访问速度都被拖慢了n倍,而且评论也加载不出来,严重影响使用心情。。。 查了查有种方法是代理中转,但是我这种前端渣估计又要搞很久,先暂且这样吧。

如果各位大佬有什么好的建议,可以在下面留言(需要翻墙)。

注册并获取KEY

首先,先去 Disqus 官网注册个账号(也可以使用 facebook 或者 google 账号登录),注册完账号之后去首页末尾 →API→Application,找到 DISQUS_API_KEY 一项,复制一下KEY,等下会用到。还有就是shortname这个是你在 Create a new site 时候输入的 Website Name ,如图所示,acool 即为我的 shortname :

cZJjn.png

安装Disqus

如果 Django 使用的是 Virtualenv 进行的开发,那么首先需要切换到虚拟环境,再进行安装。使用pip安装:

pip install django-disqus

(注:python2.7 和 python3.5 都可以安装 disqus )

修改配置

然后修改Django配置文件中的setting.py,在INSTALLED_APPS 中添加 disqus 项和 django.contrib.sites 项并在文件末尾添加两项参数。其中 DISQUS_API_KEY 项就是刚才复制的 KEY,DISQUS_WEBSITE_SHORTNAME 即前面说的 shortname (我这里是acool,请根据自己的情况来填)

INSTALLED_APPS = (
     ...
     'django.contrib.sites',
     'disqus',
 )

 DISQUS_API_KEY = 'FOOBARFOOBARFOOBARFOOBARFOOBARF'
 DISQUS_WEBSITE_SHORTNAME = 'acool'

然后迁移一下数据库:

python manage.py migrate

然后进入Django Shell:

python manage.py shell

然后修改cli中的值:

>>> from django.contrib.sites.models import Site
>>> Site.objects.all()
[<Site: example.org>]
>>> s = Site.objects.all()[0]
>>> s.domain = 'blogof33com' #这里改为你自己的域名
>>> s.name = 'blogof33.com' #同理改成自己的域名
>>> s.save()
>>> Site.objects.all()
[<Site: blogof33.com>]

修改模板

修改文章详情文件(我这里为detail.html),文件最上方添加:

{% load disqus_tags %}
{% disqus_show_comments %} <!--可选,显示评论-->

如图所示:

cZI8e.png

然后在该文件的适当位置放置嵌入代码,从http://docs.disqus.com/developers/universal/获取,如图所示,按照图中的步骤来修改文章详情文件(detail.html):

cZf3Y.png

至此 Disqus 评论系统在 Django 上面部署成功。