如何将django-disqus应用程序集成到博客中

时间:2011-04-14 16:43:23

标签: django comments disqus

您好我的客户迫切希望将django disqus集成到我们为他们构建的博客中。我偶然发现了https://github.com/arthurk/django-disqus django disqus应用程序并且无法相信我的运气,我立即启动并运行,一切似乎都运行正常,我发布评论等但是它似乎正确地识别为发布的评论在博客中显示所有帖子的一篇博文的object.id。

在索引模板中列出了我所有的博客帖子

{% for entry in entries %}
    {% set_disqus_identifier entry.id %}
    {% set_disqus_url entry.get_absolute_url %}
    {% set_disqus_developer 1 %}
    {% blog stuff goes here %}
{%endfor%}

在文章模板中我有

{% set_disqus_identifier entry.id %}
{% set_disqus_url entry.get_absolute_url %}
{% set_disqus_developer 1 %}

<section id="comments">
<a href="{{ entry.get_absolute_url }}#disqus_thread" data-disqus-identifier="{{ entry.id }}">View Comments</a>
<h1>{% disqus_num_replies %}</h1>
<article class="comment">
{% disqus_dev %}
{% disqus_show_comments entry.get_absolute_url %}

我之前提到的问题是,如果我发布一条评论,则disqus将其应用于所有博客帖子。我想我做的标识符有问题,但当我查看源代码时,javascript为每篇博文发布了正确的id

我真的需要这个才能工作,所以我会永远感激任何有此工作的帮助或建议

2 个答案:

答案 0 :(得分:1)

在索引模板中,您不需要执行所有这些set_ *内容。因此,只需加载dev标签即可启用本地开发:

{% disqus_dev %}
{% for entry in entries %}
    {% blog stuff goes here %}
{% endfor %}

在文章模板中,只需执行此操作即可显示评论。 disqus javascript将使用当前URL作为标识符,因此无需手动设置:

{% disqus_show_comments %}

不要忘记按照文档中的说明将设置设置为正确的值:http://django-disqus.readthedocs.org/en/latest/installation.html#configuring-your-django-installation并将Site对象的URL更改为您的实际域。

答案 1 :(得分:0)

我认为你不应该在索引模板中设置标识符和其他值。由于for循环,它覆盖了以前的值。相反,您应该在模板中设置与特定帖子相关的值。这样,您将为该特定帖子设置disqus参数。

注意:django-disqus现在有更新的版本,支持django 1.7。