Powered by Djangoへの移行計画(コメント機能編3-comment_utils)

投稿日:2007/09/02 06:26:37

過去の記事は移行時の問題により、画像が表示されなかったり、レイアウトが崩れたりしている可能性があります。

django-comment-utils http://code.google.com/p/django-comment-utils/ これですが、次の機能を使ってみました。
  • Akismetでコメントスパム対策。
  • コメントが投稿された時にメールでお知らせ
  • 公開コメントだけをカウントしたり、表示するテンプレートタグ
まず、コメントの対象となるモデル(Entry)に次のようなものをくっつけます。 [python]class EntryModerator(CommentModerator): akismet = True #Akismetでスパム対策をON email_notification = True #投稿時のメール送信をおねがい enable_field = 'enable_comments' moderator.register(Entry, EntryModerator)[/python] Entryにenable_comments = models.BooleanField()というフィールドを追加すると、個別にコメントを受け付けるかどうかを設定できるみたいです。 Akismetでのスパム対策ですが、 Python Akismet moduleとAkismet API keyが必要です。 API Keyってどこでとるんだっけな・・・ WordPressユーザなので、ずいぶん前にどっかでとったんだけど。 あと、settings.pyにAKISMET_API_KEY='yourapikey'という記述が必要です。 ちなみにテスト環境で動かしてる現在では、これが動いてるかわかりませんw 次にコメント投稿時のメール送信ですが、 django.core.mailのsend_mailをつかって、 settings.pyのMANAGERSに書かれたアドレスに送信されます。 メール送信内容のテンプレートは、 comment_utils/comment_notification_email.txtを読み込みます。 この時にテンプレートには、次のcontextが渡されます。 'comment': comment, #commentオブジェクト 'content_object': content_object #Entryオブジェクト [code] {{ comment.person_name }}さんから {{ content_object.title }}へのコメントがありました {{ comment.comment }}[/code] 最後は、テンプレートタグです。 get_public_comment_list(コメント一覧取得) get_public_free_comment_list get_public_comment_count(コメント数取得) get_public_free_comment_count この4つが定義されています。 Djangoのコメント機能にもこういうのはあるんですが、 公開がオフになってるやつもカウントしたりしてしまうんで、 こっちの方がなにかと便利です。 freeがついてるやつは、フリーコメント用です。 あ、ちなみにDjangoのコメント機能のフリーコメントは誰でも投稿できるやつで、 コメントは登録ユーザだけがコメントできるって機能です。0.96からかな。 フリーコメントの使い方は、michiluさんとこで紹介されてます。
Posted at: 
2007/09/02 06:26:37
1 Comment
0 TrackBacks
Tags: 
Trackback: 
http://blog.monospace.jp/2007/09/02/django_powered_blog4/trackback/
この日記のはてなブックマーク数

TrackBacks

まだ登録されていません。

Comments

にゃん

べっ、べつにアンタのために教えるんじゃないからね!+.(・∀・).+♪ http://gffz.biz/

Created at: 
2011/12/12 08:29:28

Add Comment

Add Comment