A simple yet flexible threaded commenting system.
Project description
django-threadedcomments
threadedcomments is a Django application which allows for the simple creation of a threaded commenting system. Commenters can reply both to the original item, and reply to other comments as well.
The application is (as of 0.9) built on top of django.contrib.comments, which allows it to be easily extended by other modules.
Installation
Install the package via pip:
pip install django-threadedcomments
It’s preferred to install the module in a virtual environment.
Configuration
Add the following to settings.py:
INSTALLED_APPS += ( 'threadedcomments', 'django.contrib.comments', ) COMMENTS_APP = 'threadedcomments'
By placing the threadedcomments app above the django.contrib.comments application, the placeholder comments/list.html template will already be replaced by a threaded view.
Make sure django.contrib.comments is configured in urls.py:
urlpatterns += patterns('', url(r'^articles/comments/', include('django.contrib.comments.urls')), )
Provide a template that displays the comments for the object (e.g. article or blog entry):
{% load threadedcomments_tags %} ... <h2>Comments for {{ object.title }}:</h2> {% render_comment_list for object %} {% render_comment_form for object %}
Template design
Naturally, it’s desirable to write your own version of comments/list.html in your project, or use one of the comments/app/list.html or comments/app/model/list.html overrides.
Make sure to override comments/base.html as well, so the other views of django.contrib.comments are displayed using your web site design. The other templates of django.contrib.comments are very plain as well on purpose (for example comments/posted.html), since these pages depend on the custom design of the web site.
See the provided example app for a basic configuration, including a JavaScript-based reply form that moves to the comment the visitor replies to.
Extending the module
The application is built on top of the standard django.contrib.comments framework, which supports various signals, and template overrides to customize the comments.
To customize django-threadedcomments, override the proper templates, or include the apps that provide the missing features. Front-end editing support for example, is left out on purpose. It belongs to the domain of moderation, and policies to know “who can do what”. That deserves to be in a separate application, it shouldn’t be in this application as it focuses on threading. The same applies to social media logins, comment subscriptions, spam protection and Ajax posting.
Note that the standard framework also supports moderation, flagging, and RSS feeds too. More documentation can be found at:
Some of the modules worth looking at are:
These modules can enhance the comments system even further.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-threadedcomments-0.9.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5c8f0e805856c7e4680f2ad779fd387982cde1e76c7393042b1bfa7c116b90d |
|
MD5 | 03445af2185cd41085a9e819e10ad817 |
|
BLAKE2b-256 | 38e5899fcc060f6af54ac9033a868fcf375c7095a8ad1d31ad80aa069b14b4f0 |