コメントフォームクラス

revision-up-to:17812 (1.4)

django.contrib.comments.forms モジュールはコメントを処理するビューを書く、 あるいは カスタムコメントアプリ を書くとき に使うであろう、いくつかのフォームを含んでいます。

class CommentForm

メインのコメントフォームで、送信されたコメントを処理する標準、組み込みの 方法を表現します。これは django.contrib.comments の全ビューが、 送信されたコメントを処理するために使うクラスです。

もし Django の組み込みコメント処理用ビューに似たカスタムビューを作るので あれば、このフォームを使うと便利かもしれません。

カスタムコメントアプリ用の抽象コメントフォーム

もし カスタムコメントアプリ を作っている のであれば、フォームの処理の 一部分だけ を変更したいと思うと同時に 既存のフォームの処理を流用したいと思うでしょう。

実は CommentForm は、継承することでフォーム処理を部分的に再利用できる 2 つの抽象クラスで構成されています:

class CommentSecurityForm

コメントフォーム処理における、なりすまし防止の観点での処理を行います。

このクラスはそのコメントが結びつけられているオブジェクトを指す content_typeobject_pk フィールド、 timestamp 、そして 全フォームデータの security_hash を含んでいます。これらタイムスタンプと セキュリティハッシュによって、スパマーがフォーム送信を「リプレイ」することを 防ぎ、コメントの洪水を起こさないようにします。

class CommentDetailsForm

コメント自体の詳細を処理します。

このクラスは nameemailurl、そして comment フィールド と、関連した検証ロジックを含んでいます。