Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
54 lines (33 sloc) 2.88 KB

Django Richcomments

Django app extending the builtin comments framework for AJAX style commenting.

django-richcomments wraps the Django's comments frameworks existing render_comment_list and render_comment_form template tags to make them behave AJAXy.



  1. Install or add django-richcomments to your Python path.

  2. Configure Django's comments framework as described here.

  3. Add richcomments url include to your project's file:

    (r'^richcomments/', include('richcomments.urls')),
  4. Ensure django-richcomments static media is accessible, see managing static files.


django-richcomments simply wraps the existing render_comment_list and render_comment_form template tags to make them behave AJAXy. Thus when a comment is submitted it is done via Javascript and an existing comment list is update without a page reload. You would customize your comment listing and form HTML as per normal. From a code perspective commenting behaves exactly the same as it normally does, except that the form generated by the render_comment_form tag will be submitted via AJAX and comment lists generated by the render_comment_list will be updated via AJAX after such a submit.

For richcomments to be active on a page both the jQuery and jQuery form plugin Javascript libraries needs to be loaded. Both are included as part of django-richcomments static media and a shortcut template tag is provided for your convenience, i.e.:

{% load richcomments %}

{% richcomments_static %}

which renders the following (with a static path as configured in your settings):

<script type="text/javascript" src="/static/richcomments/includes/jquery.min.js"></script>
<script type="text/javascript" src="/static/richcomments/includes/jquery.form.js"></script>

To recap here's a simple example illustrating how you can display a list of comments as well as a comment form for an object which will be submitted and updated via AJAX:

{% load comments richcomments %}

        {% richcomments_static %}
        {% render_comment_list for object %}
        {% render_comment_form for object %}