Django-comments

提供:Dev Guides
移動先:案内検索

Django-コメント

開始する前に、Django Commentsフレームワークは1.5バージョン以降廃止されることに注意してください。 これで外部機能を使用できるようになりましたが、それでも使用したい場合は、バージョン1.6および1.7に含まれています。 バージョン1.8以降は存在しませんが、別のGitHubアカウントでコードを取得できます。

コメントフレームワークを使用すると、アプリ内の任意のモデルにコメントを簡単に添付できます。

Djangoコメントフレームワークの使用を開始するには-

プロジェクトのsettings.pyファイルを編集し、 'django.contrib.sites' および 'django.contrib.comments' をINSTALLED_APPSオプションに追加します-

INSTALLED_APPS += ('django.contrib.sites', 'django.contrib.comments',)

サイトIDを取得する-

>>> from django.contrib.sites.models import Site
>>> Site().save()
>>> Site.objects.all()[0].id
u'56194498e13823167dd43c64'

あなたがsettings.pyファイルで取得するIDを設定します-

SITE_ID = u'56194498e13823167dd43c64'

すべてのコメントテーブルまたはコレクションを作成するには、dbを同期します-

python manage.py syncdb

コメントアプリのURLをプロジェクトのurls.pyに追加します-

from django.conf.urls import include
url(r'^comments/', include('django.contrib.comments.urls')),

フレームワークがインストールされたので、Helloテンプレートを変更して、Dreamrealモデルに関するコメントを追跡しましょう。/myapp/hello URLにパラメーターとして名前が渡される特定のDreamrealエントリのコメントをリストし、保存します。

ドリームリアルモデル

class Dreamreal(models.Model):

   website = models.CharField(max_length = 50)
   mail = models.CharField(max_length = 50)
   name = models.CharField(max_length = 50)
   phonenumber = models.IntegerField()

   class Meta:
      db_table = "dreamreal"

こんにちはビュー

def hello(request, Name):
   today = datetime.datetime.now().date()
   daysOfWeek = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
   dreamreal = Dreamreal.objects.get(name = Name)
   return render(request, 'hellol', locals())

hellolテンプレート

{% extends "main_templatel" %}
{% load comments %}
{% block title %}My Hello Page{% endblock %}
{% block content %}

<p>
   Our Dreamreal Entry:
   <p><strong>Name :</strong> {{dreamreal.name}}</p>
   <p><strong>Website :</strong> {{dreamreal.website}}</p>
   <p><strong>Phone :</strong> {{dreamreal.phonenumber}}</p>
   <p><strong>Number of comments :<strong>
   {% get_comment_count for dreamreal as comment_count %} {{ comment_count }}</p>
   <p>List of comments :</p>
   {% render_comment_list for dreamreal %}
</p>

{% render_comment_form for dreamreal %}
{% endblock %}

最後に、helloビューへのマッピングURL-

url(r'^hello/(?P<Name>\w&plus;)/', 'hello', name = 'hello'),

Now,

  • テンプレート(hellol)で、コメントフレームワークを-\ {%loadコメント%}でロードします
  • ビューによって渡されるDreamrealオブジェクトのコメントの数を取得します-dreamrealの\ {%get_comment_countとしてcomment_count%}
  • オブジェクトのコメントのリストを取得します-\ {%dreamreal%のrender_comment_list}
  • デフォルトのコメントフォームを表示します-\ {%dreamreal%のrender_comment_form}

/myapp/hello/steveにアクセスすると、名前がSteveであるDreamrealエントリのコメント情報が表示されます。 そのURLにアクセスすると、あなたが取得します-

Djangoコメントの例

コメントを投稿すると、次のページにリダイレクトされます-

リダイレクトされたコメントページ

もう一度/myapp/hello/steveにアクセスすると、次のページが表示されます-

コメント数

ご覧のとおり、コメントの数は1になり、コメントのリスト行の下にコメントがあります。