On Comments for a Django Blog
When adding comment functionality to this blog, I had two choices of paths to take; I could either use Disqus, or Django’s own comment framework. It took a while to decide between them, as there were pros and cons to both.
Disqus is nice, no doubt about it. It has a dizzying array of features:
- A consistent interface over all the blogs that use it.
- Threaded commenting.
- Antispam capabilities.
- Excellent moderation interface.
- Ability to subscribe to comments by email, and conduct conversations on the blog through those email threads.
- An amazing community.
- Integration into a Django blog is fairly simple, there are only two template tags you need.
- It’s written in Django.
It does, however, have some drawbacks.
- Disqus can be inserted into your website only through javascript. That is, you’ll put a js snippet in, and it will load the entire shebang on page load. Obviously, this won’t work if javascript is disabled or is not supported.
- You can’t style the comment form, and decide what elements get in, and what don’t. Although the Disqus panel allows some customization, it’s not great.
- You don’t own the content of the comments. That information is kept on the Disqus servers. There are several times when you may want to have control over this data, but you can’t.
- As the comments aren’t actually part of your site, they aren’t indexed as such. Therefore if you have really good comments on your site, your google juice won’t rise as a result.
- Since the Disqus Community connects a large number of blogs and sites, a guy who acts like an idiot on some other site and gets banned from Disqus as a result, won’t be able to comment on your site, regardless of his behavior there.
On the other hand, Django’s comment framework, while overcoming the disadvantages of Disqus, had its own shortcomings:
- You have to maintain the code.
- You have to integrate antispam measures.
- You have to apply CSS to style the thing.
- Although there is an API reference for the comments framework, there isn’t much by the way of actual usage examples.
- You have to implement all the features, including moderation, email subscription, etc.
Basically, if you’re up to doing all the work, then you can go ahead and use Django’s comment framework.
Soon, I’ll try to put up some code as to how I integrated it into my blog.
1 Response
Comments for this entry have been closed.




Interesting post. I am about to add commenting to a Django site and was considering Disqus. You raise some good points that have me leaning away from Disqus. Would love to see more detail on how you integrated Django’s comment framework, issues encountered etc.
Thanks!