У меня есть приложение для блога 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, и когда я пытался добавить аргументы, он просто возвращал пустую строку... поэтому я попытался поэкспериментировать с:
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. Погуглив и прочитав документы, я подумал, что это будет URL-адрес моей домашней страницы ('blog.views.home'), но когда я установил его таким образом, если я добавлю какие-либо аргументы, он просто вернет пустую строку.
Вот мои URL-адреса для домашних и отдельных страниц:
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'),
...
Для непосредственной проблемы здесь элементы Javascript disqus, кажется, назначаются правильно в противном случае, поэтому я не уверен, почему комментарии все еще отображаются во всех записях.
var disqus_shortname = 'sitename';
var disqus_developer = "1";
var disqus_identifier = "1";
var disqus_url = "/single/first/";
var disqus_title = "First post";
return reverse('single', args=[self.slug])
. Кроме того, у вас есть пространство имен, указанное дляblogs
в конфигурации корневого URL-адреса? - person karthikr   schedule 28.07.2013kwargs
. - person Games Brainiac   schedule 28.07.2013