Disqus показывает одинаковые комментарии на всех страницах с уникальными настройками page.url и page.id - PullRequest
0 голосов
/ 11 февраля 2019

Я добавляю disqus в свое приложение django и не могу заставить его загружать новую ветку комментариев на каждой странице.

Я перепробовал все и следовал документации, в которой указано, как установить переменные вшаблон disqus javascript перед использованием.

Вот мой 'post_detail.html', который нуждается в комментариях disqus:

{% extends 'base.html' %}

{% block content %}
  <div class="post-entry">
    <h2>{{ post.title  }}</h2>
    <p>{{ post.body|safe }}</p>
  </div>
  <div id="disqus_thread"></div>
  <script>

  /**
  *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
  *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/

  var disqus_config = function () {
  this.page.url = '{{ request.build_absolute_uri }}';  // Replace PAGE_URL with your page's canonical URL variable
  this.page.identifier = '{{ request.get_full_path }}'; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
  this.page.title = '{{ post.title }}'
  };

  (function() { // DON'T EDIT BELOW THIS LINE
  var d = document, s = d.createElement('script');
  s.src = 'https://bytewise-com.disqus.com/embed.js';
  s.setAttribute('data-timestamp', +new Date());
  (d.head || d.body).appendChild(s);
  })();
  </script>
  <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
{% endblock content %}

Переменные в этой функции установлены правильно, согласно https://help.disqus.com/developer/javascript-configuration-variables

...
this.page.url = '{{ request.build_absolute_uri }}';
this.page.identifier = '{{ request.get_full_path }}';
...

Вот что получает мой браузер в ответ на загрузку страницы, поэтому я знаю, что переменные загружаются правильно.

 /**
  *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
  *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/

  var disqus_config = function () {
  this.page.url = 'http://127.0.0.1:8000/post/1/';  // Replace PAGE_URL with your page's canonical URL variable
  this.page.identifier = '/post/1/'; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
  this.page.title = 'Testing the post function'
  };

  (function() { // DON'T EDIT BELOW THIS LINE
  var d = document, s = d.createElement('script');
  s.src = 'https://bytewise-com.disqus.com/embed.js';
  s.setAttribute('data-timestamp', +new Date());
  (d.head || d.body).appendChild(s);
  })();

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

Почему те же комментарии все еще отображаются в моих других сообщениях?

Имеет ли он какое-либо отношение к каждомуопубликовать ссылку на шаблон post_detail.html?

Работая над этим часами, любая помощь приветствуется.

1 Ответ

0 голосов
/ 11 февраля 2019

Я просмотрел страницу администрирования disqus, и она показала http://127.0.0.1:8000/post в качестве URL-адреса нити, редактирование которого дало мне ошибку о неверном формате URL-адреса.Мне это показалось странным, поэтому я удалил сайт и комментарии.

изменив переменную на:

this.page.url = '{{ request.build_absolute_uri }}.html'

по какой-либо причине disqus, похоже, согласен с этим больше, не уверен, что это такпредполагалось, но, похоже, сейчас работает нормально.

...