我有一个 django 博客应用程序,我试图用一个博客条目将 disqus 放在我的每个页面上,但所有评论都显示在所有条目上。我查看了相关问题,并认为我的问题可能与 get_absolute_url 有关。
所以最初我有这个模型和 get_absolute_url 集:
class posts(models.Model):
author = models.CharField(max_length = 30)
title = models.CharField(max_length = 100)
bodytext = models.TextField()
timestamp = models.DateTimeField()
slug = models.SlugField(max_length = 255)
description = models.TextField()
def __unicode__(self):
return self.bodytext
def get_absolute_url(self):
return reverse('blog.views.home')
这只是返回一个'/'作为我的get_absolute_url,当我尝试添加args时它只返回一个空字符串......所以我尝试尝试:
def get_absolute_url(self):
return reverse('blog.views.single', args=[self.slug])
和
def get_absolute_url(self):
return reverse('single', args=[self.slug])
在源代码中,Javascript disqus-url 有类似“single/secondentry”的内容,但评论仍然出现在所有条目上。
所以我认为问题的一部分可能是我根本不明白 get_absolute_url 应该是什么。在谷歌搜索和阅读文档后,我认为这将是我主页的网址('blog.views.home'),但是当我将其设置为这样时,如果我添加任何参数,它只会返回一个空字符串。
这是我的主页和单页网址:
url(r'^$', 'blog.views.home', name='home'),
url(r'^$', 'blog.views.index', name='index'),
url(r'^single/(?P<slug>[\w-]+)/$', 'blog.views.single', name='single'),
...
对于这里的直接问题,disqus Javascript 元素似乎被正确分配,所以我不确定为什么评论仍然出现在所有条目上。
var disqus_shortname = 'sitename';
var disqus_developer = "1";
var disqus_identifier = "1";
var disqus_url = "/single/first/";
var disqus_title = "First post";