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.
Contents
Install or add
django-richcommentsto your Python path.Configure Django's comments framework as described here.
Add richcomments url include to your project's
urls.pyfile:(r'^richcomments/', include('richcomments.urls')),Ensure
django-richcommentsstatic 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 %}
<html>
<head>
{% richcomments_static %}
</head>
<body>
{% render_comment_list for object %}
{% render_comment_form for object %}
</body>
</html>