Comment form classes¶
Django’s comment framework has been deprecated and is no longer supported. Most users will be better served with a custom solution, or a hosted product like Disqus.
The code formerly known as django.contrib.comments is still available in an external repository.
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.
- class CommentForm¶
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.
Abstract comment forms for custom comment apps¶
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:
- class CommentSecurityForm¶
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.
- class CommentDetailsForm¶
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.