DISQUS. Добавляем количество комментариев к посту на главной

Понедельник, 30 Дек. 2013 by Kirill Shershen


DISQUS система комментариев с кучей возможностей. Не понимаю зачем прикручивать самописные коменты или ту же джанговскую систему коментов. Дискус подключается буквально в несколько строк, сначала ставим django-disqus(pip install django-disqus), в settings.py добавляем:

INSTALLED_APPS = (
...,
'disqus',
...,
)
...
DISQUS_API_KEY = 'pmkA3CvbF2DUuIEpgQcBWDIgPnvY2CrkyXq5KO8NjyO1AqnVPeDo54d5f49NWO'
DISQUS_WEBSITE_SHORTNAME = 'kxekxeherokuappcom'

и в нужном темплейте вставляем:

{% load disqus_tags %}
{% disqus_show_comments %}

DISQUS_API_KEY это глобальный ключ который выдается на аккаунт, DISQUS_WEBSITE_SHORTNAME это идентификатор сайта. Найти можно на disqus.com.

Далее нужно настроить чтобы в списке постов показывалось количество комментариев к посту, а если нет комментариев то ничего не показывать.

Для этого добавляем в темплейт списка постов,

после самого поста, или перед ним, или в любом удобном месте добавляем тег <a> c сылкой на ваш пост с окончанием #disqus_thread:

<a href="/blog/{{post.id}}#disqus_thread" ></a>

и в самый конец, скрипт:

<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'YOUR_DISQUS_WEBSITE_SHORTNAME'; // required: replace example with your forum shortname

/* * * DON'T EDIT BELOW THIS LINE * * */
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>

Скрипт будет искать по документу ссылку на пост и подставлять в название количество комментариев. Сама строка с количеством комментариев настраивается на сайте disqus, по адресу YOUR_DISQUS_WEBSITE_SHORTNAME.disqus.com/admin/settings/, во вкладке general 

Теперь количество комментариев будет отображатся возле каждого поста на главной странице.

Теги: django , disqus


blog comments powered by Disqus