Django – Disqus не распознает уникальный идентификатор

В принципе, те же самые комментарии Disqus появляются для каждого сообщения. Я читал о том, почему это происходит, и до сих пор не может понять, что происходит не так.

Вот что я вижу на своей странице: 1

И вот мой код шаблона:

{% block content %} <p> The post id is: {{ post_object.id}} </p> <p> The post URL: {{ post_object.get_absolute_url }} {# DISQUS #} <div id="disqus_thread"></div> <script type="text/javascript"> /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ var disqus_shortname = 'MySiteName'; // required var disqus_identifier = '{{ post_object.id }}'; var disqus_url = 'http://localhost:8000{{ post_object.get_absolute_url }}'; var disqus_title = '{{ post_object.title }}'; var disqus_developer = 1; /* * * DON'T EDIT BELOW THIS LINE * * */ (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> {% endblock content %} 

Выделенный HTML:

 <div id="disqus_thread"></div> <script type="text/javascript"> /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ var disqus_shortname = 'MySiteName'; // required var disqus_identifier = '42'; var disqus_url = 'http://localhost:8000/post/42/'; var disqus_title = 'Test post'; var disqus_developer = 1; /* * * DON'T EDIT BELOW THIS LINE * * */ (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> 

Как вы можете видеть, disqus_identifier и disqus_url уникальны. Что здесь происходит?

Любые идеи или отзывы помогают! Благодаря!


EDIT: Хорошо, я вижу, откуда эта проблема. После публикации комментария на почте, расположенной по адресу http://localhost:8000/post/42/ , Disqus добавляет администратору Disqus (на вкладке «Обсуждения») ссылку на сообщение в виде http://localhost:8000/post

Это даже не действительный URL-адрес на моей странице. Когда я явно меняю ссылку на http://localhost:8000/post/42/ , она сохраняет. Однако вновь созданный пост будет по-прежнему отображать комментарии с поста 42.

Мысли?

2 Solutions collect form web for “Django – Disqus не распознает уникальный идентификатор”

Установите django-disqus и используйте его в своих шаблонах.

 pip install django-disqus 

Добавьте disqus в свой INSTALLED_APPS и поместите ключ disqus api в свои настройки:

settings.py

 INSTALLED_APPS = ( ... 'disqus', ... ) DISQUS_API_KEY = 'YOUR_SECRET_API_KEY' DISQUS_WEBSITE_SHORTNAME = 'YOUR_WEBSITE_SHORTNAME' 

Используйте теги шаблона disqus в ваших шаблонах:

some_template.html

 # 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 %} 

надеюсь это поможет.

Вместо этого вы можете попробовать использовать что-то вроде django-disqus, которое использует простые теги шаблонов для загрузки комментариев disqus. Все, что требуется:

 # for when using the development server {% load disqus_tags %} {% disqus_dev %} # for showing all comments of a thread in production {% load disqus_tags %} {% disqus_show_comments %} 
  • Django: Любая разница между `QuerySet .__ nonzero__` и` QuerySet.exists`?
  • Ничего не происходит, когда я делаю: команда python manage.py
  • Куда идут дела, когда я «печатаю» их из своего приложения Django?
  • Как сделать попытку сельдерея использовать одного и того же работника?
  • django-filter использует разбиение на страницы
  • Регистрация пользователей с сайта Django после N минут бездействия
  • Как сделать много-много запросов Django, чтобы найти книгу с двумя авторами?
  • Автоматическое увеличение номера счета-фактуры в бэкэнде django для нового счета-фактуры
  • Django: токен CSRF отсутствует или неверен
  • Менеджер недоступен с помощью экземпляров `Model`
  • Как написать тесты для форм в Django?
  • Python - лучший язык программирования в мире.