追逐繁星的孩子

お帰りなさい

首页 标签 归档 分类 关于
新增Disqus评论系统
日期 2017-07-09   |    标签 Disqus   |    评论

今天给博客增加了评论系统。一开始对比了一些国内外评论系统,最后选择了Disqus

Disqus国外用的比较多,比较稳定,不过最近由于多说关了,网易云跟帖貌似也即将关停,国内应该也有不少博客会从多说、网易云跟帖迁移到Disqus。不过话说国内的评论系统发展堪忧啊!

Disqus的使用还是蛮简单的(虽然花了我几个小时-0-)。所以为了祭奠我逝去的几个小时,这里记录一下。

采用科学上网的方法搞定Disqus的申请,然后在网页上需要放评论的位置放上下面的代码:

<script>
    (function () {
        var d = document, s = d.createElement('script');
        s.src = 'https://your-shortname.disqus.com/embed.js';
        s.setAttribute('data-timestamp', +new Date());
        (d.head || d.body).appendChild(s);
    })();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>

如果需要获取评论数,请添加:

<span class="disqus-comment-count" data-disqus-url="页面URL"></span>
<script id="dsq-count-scr" src="//your-shortname.disqus.com/count.js" async></script>

但是我测试了一下,Disqus更新评论数并不是实时的,大概存在20分钟延迟。比如你现在提交评论,20分钟后才能获取到评论数+1。

如果页面URL存在中文字符(URL中最好别有中文),需要先转成URL编码格式,不然获取不到评论数信息。比如我采用django的{{ url | filter }}传递请求的URL,需要通过自定义过滤器实现:

import urllib
from django import template
from django.template.defaultfilters import stringfilter

register = template.Library()

@register.filter(name='urlchange', is_safe=True)
@stringfilter
def urlchange(value):
    return urllib.parse.quote(value)


总体来讲Disqus还是蛮不错的,界面符合我的审美,实现也简单,唯一的缺点是被墙了,无形之中增加了评论的门槛。不过反正也没人会来评论,墙不墙无所谓啦!