首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django- disqus : disqus注释框

Django- disqus : disqus注释框
EN

Stack Overflow用户
提问于 2013-07-23 20:48:16
回答 2查看 513关注 0票数 1

我与django一起创建了一个博客,并试图使用disqus的评论。我有一个类似的问题,我在其他问题上看到,当我张贴评论的任何条目(在单一条目页),他们都会出现在主页下的一个条目。

主要的问题是,在我有多个条目的博客主页上,我只能在一个条目上显示一个disqus注释框。当我查看源代码时,其他博客条目的javascript变量似乎显示得很正确,所以我不知道为什么评论框不会呈现在其他博客条目下面。

我正处于开发模式,所以我不确定这是否有什么区别.我也是这一切的菜鸟。

这是我为每个entry...can的disqus获取的源代码,有人帮我找出为什么我不能将注释框呈现出来吗?

代码语言:javascript
复制
<div id="disqus_thread"></div>
<script type="text/javascript">
/* <![CDATA[ */

    var disqus_shortname = 'whometaxi';
    var disqus_developer = "1";
    var disqus_identifier = "3";
    var disqus_title = "Third";

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

<div id="disqus_thread"></div>
<script type="text/javascript">
/* <![CDATA[ */

    var disqus_shortname = 'whometaxi';
    var disqus_developer = "1";
    var disqus_identifier = "1";
    var disqus_title = "First post";

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

<script type="text/javascript">
/* <![CDATA[ */

    var disqus_shortname = 'whometaxi';
    var disqus_developer = "1";
    var disqus_identifier = "2";
    var disqus_title = "Second!";

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

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-24 17:52:48

Disqus设计为每页加载一个Disqus邮箱。Disqus使用页面URL作为唯一标识符,只有一个Disqus嵌入可以与单个URL相关联。如果一个页面的源代码中存在多个Disqus嵌入,则只有一个嵌入将加载。

有一种使用不同标识符进行重新加载嵌入的磁盘的方法:

代码语言:javascript
复制
  DISQUS.reset({
  reload: true,
  config: function () {  
    this.page.identifier = "newidentifier";  
    this.page.url = "http://example.com/#!newthread";
  }
});

但是,该方法仍然仅用于每页一次嵌入。

票数 1
EN

Stack Overflow用户

发布于 2015-02-25 12:41:23

这个问题已经解决了,但是我想通过使用django-disqus来展示一种不同的方法。最后一行是为特定页面/对象获取正确注释的行。

安装姜戈-迪克斯并在模板中使用它。

代码语言:javascript
复制
pip install django-disqus

将disqus添加到您的INSTALLED_APPS中,并将disqus键放在您的设置中:

settings.py

代码语言:javascript
复制
INSTALLED_APPS = (
    ...
    'disqus',
    ...
)

DISQUS_API_KEY = 'YOUR_SECRET_API_KEY'
DISQUS_WEBSITE_SHORTNAME = 'YOUR_WEBSITE_SHORTNAME'

在模板中使用disqus模板标记:

some_template.html

代码语言:javascript
复制
# load the tags
{% load disqus_tags %}
# get comments for your website
{% disqus_show_comments "YOUR_WEBSITE_SHORTNAME" %}
# get the url for the current object to get the right comments
{% set_disqus_url object.get_absolute_url %}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17820776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档