0

こんにちは、私のクライアントは、私たちが構築したブログに django disqus を統合することを切望しています。私はhttps://github.com/arthurk/django-disqus django disqus アプリに出くわしましたが、私の運が信じられませんでした。 1 つのブログ投稿に対して object.id で投稿されたコメントが、ブログ全体のすべての投稿に表示されるため、適切に識別されます。

私が持っているすべてのブログ投稿を一覧表示するインデックス テンプレートで

{% for entry in entries %}
    {% set_disqus_identifier entry.id %}
    {% set_disqus_url entry.get_absolute_url %}
    {% set_disqus_developer 1 %}
    {% blog stuff goes here %}
{%endfor%}

私が持っている記事テンプレートで

{% set_disqus_identifier entry.id %}
{% set_disqus_url entry.get_absolute_url %}
{% set_disqus_developer 1 %}

<section id="comments">
<a href="{{ entry.get_absolute_url }}#disqus_thread" data-disqus-identifier="{{ entry.id }}">View Comments</a>
<h1>{% disqus_num_replies %}</h1>
<article class="comment">
{% disqus_dev %}
{% disqus_show_comments entry.get_absolute_url %}

前に述べた問題は、1 つのコメントを投稿すると、disqus がそれをすべてのブログ投稿に適用することです。識別子に何か問題があると思いますが、ソースを表示すると、JavaScript が各ブログ投稿の正しい ID を取得しています

私はこれが機能するために本当に必要なので、これを機能させた助けやアドバイスに永遠に感謝します

4

2 に答える 2

1

index テンプレートでは、この set_* のすべてを行う必要はありません。したがって、ローカル開発を有効にするために dev タグをロードするだけです:

{% disqus_dev %}
{% for entry in entries %}
    {% blog stuff goes here %}
{% endfor %}

記事テンプレートでこれを行うだけで、コメントが表示されます。disqus JavaScript は現在の URL を識別子として使用するため、手動で設定する必要はありません。

{% disqus_show_comments %}

ドキュメントに記載されているように、設定を正しい値に設定することを忘れないでください: http://django-disqus.readthedocs.org/en/latest/installation.html#configuring-your-django-installationまた、URL を変更しますサイトオブジェクトを実際のドメインに。

于 2011-04-15T12:06:10.573 に答える
0

インデックス テンプレートに識別子やその他の値を設定するべきではないと思います。for ループが原因で、以前の値が上書きされます。むしろ、特定の投稿に関連するテンプレートに値を設定する必要があります。そうすれば、その特定の投稿に対して disqus パラメータを設定することになります。

注: django-disqus には現在、django 1.7 をサポートする新しいバージョンがあります。

于 2015-03-09T05:02:18.913 に答える