/django-comments-xtd

Django commenting app with thread support, follow-up notifications, email confirmation, like/dislike flags, and moderation.

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

django-comments-xtd TravisCI

Tests passing with:

  • Django 1.8 to 1.10 under Python 3.5
  • Django 1.7 to 1.10 under Python 2.7

A reusable django app that extends the django-contrib-comments framework with:

  1. Thread support, so comments may be nested.
  2. The maximum thread level can be set up either for all models or on a per app.model basis.
  3. Optional notification of follow-up comments via email.
  4. Mute links on follow-up emails to allow follow-up notification cancellation.
  5. Comment confirmation via email when users are not authenticated.
  6. Comments hit the database only when have been confirmed.
  7. Registered users can like/dislike comments and can suggest comments removal.
  8. Template tags to list/render the last N comments posted to any given list of app.model pairs.
  9. Comments can be formatted in Markdown, reStructuredText, linebreaks or plain text.
  10. Emails sent through threads (can be disable to allow other solutions, like a Celery app).

Tutorial

Read the tutorial covering every feature in the documentation at:

Demo projects

Includes several demo sites and an extensive test suite.

Check out the demo projects coming with the package:

  1. simple: Single model with non-threaded comments.
  2. simple_threads: Single model with threaded comments up to level 2.
  3. multiple: Several models with comments, and a maximum thread level defined on per app.model basis.
  4. custom_comments: How to extend django-comments-xtd with your own comment model and form.

Contributions

If you commit code, please consider adding proper coverage (especially if it has a chance for a regression) in the test suite. Run the tests with the python setup.py test command.