0

嗨,我的客户迫切希望将 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

我真的需要这个工作,所以将永远感谢任何帮助或建议,让这个工作

4

2 回答 2

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并且还要更改 url您的 Site 对象到您的实际域。

于 2011-04-15T12:06:10.573 回答
0

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

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

于 2015-03-09T05:02:18.913 回答