skillfed

django-contrib-comments

The code formerly known as django.contrib.comments.

django-contrib-comments v2.2.0 212.2K downloads/30d#9,461 on PyPI629
Permissive license BSD Abandoned released

What it is and what it does

Django-contrib-comments is the standalone version of Django's built-in comments framework, which was extracted into a separate project starting with Django 1.6. It provides a reusable app that lets you attach comments to any Django model—blog posts, photos, chapters, or custom content types—with built-in moderation, user tracking, and admin integration.

The package handles comment submission, storage, and retrieval through a Comment model that tracks the commented object, user, submission date, and moderation status. It includes management commands like delete_stale_comments, database indexing on frequently-queried fields, and support for custom comment models when the default schema doesn't fit your needs. The framework integrates directly into Django's admin and ORM.

Use it for:

  • Add a comment system to a Django blog where readers can discuss posts and authors moderate feedback.
  • Enable photo galleries or media sites to collect user reactions and discussion on individual items.
  • Build community features on documentation or knowledge-base sites where users annotate content.
  • Implement moderation workflows where comments require approval before publication.
  • Attach comments to custom Django models in internal tools or SaaS applications.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a Django framework for attaching comments to any model in your application, enabling user-generated comment functionality on blog posts, photos, or other content types.

Yes, if you need a lightweight, battle-tested comment framework for Django and can accept that the package is no longer actively maintained. The code is stable and production-ready (Development Status 5), with no known vulnerabilities and low install friction. However, verify compatibility with your Django version (last confirmed for 4.0) and be prepared to maintain or fork it if future Django releases introduce breaking changes.

Install

django-contrib-comments on PyPI

pip

pip install django-contrib-comments

uv

uv add django-contrib-comments

poetry

poetry add django-contrib-comments

Installing django-contrib-comments

Before you install

Low install friction with a single Django dependency. However, the package is in abandoned maintenance status as of 1656 days since its last release (2022-01-31), with no active development despite the repository remaining unarchived.

License in practice

BSD permissive license allows commercial and private use with minimal restrictions, typical for web framework packages.

Quickstart

pip install django-contrib-comments

# In Django settings.py, add to INSTALLED_APPS:
# 'django_comments'

# In your template:
# {% load comments %}
# {% get_comment_list for object as comment_list %}
# {% for comment in comment_list %}
#   {{ comment.user_name }}: {{ comment.comment }}
# {% endfor %}

Requires Django to be installed and configured; object_pk field is limited to 64 characters for indexed primary keys on MySQL

Verify before relying

  • Whether the package remains compatible with Django versions released after 4.0 (last confirmed support)
  • Current compatibility with Python versions beyond 3.9 (last tested version in fact sheet)
  • Whether the 64-character limit on object_pk fields poses constraints for your primary key serialization

Package facts

License BSD (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — Django
Maintenance abandoned — 1,656 days since the last release
Last repo commit
First released
Downloads 212,197/month — #9,461 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: django_contrib_comments-2.2.0-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoFramework :: Django :: 2.2Framework :: Django :: 3.0Framework :: Django :: 3.1Framework :: Django :: 3.2Framework :: Django :: 4.0Intended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

django comments frameworkattach comments to modelsdjango user commentsblog post comments djangodjango comment systemmodel comment functionalitydjango content comments
django-appuser-generated-content

More Dynamic Content packages