The django.contrib.comments.forms module contains a handful of forms you’ll use when writing custom views dealing with comments, or when writing custom comment apps.
The main comment form representing the standard, built-in way of handling submitted comments. This is the class used by all the views django.contrib.comments to handle submitted comments.
If you want to build custom views that are similar to Django’s built-in comment handling views, you’ll probably want to use this form.
If you’re building a custom comment app, you might want to replace some of the form logic but still rely on parts of the existing form.
CommentForm is actually composed of a couple of abstract base class forms that you can subclass to reuse pieces of the form handling logic:
Handles the anti-spoofing protection aspects of the comment form handling.
This class contains the content_type and object_pk fields pointing to the object the comment is attached to, along with a timestamp and a security_hash of all the form data. Together, the timestamp and the security hash ensure that spammers can’t “replay” form submissions and flood you with comments.
Handles the details of the comment itself.
This class contains the name, email, url, and the comment field itself, along with the associated validation logic.