You want comments? You got em!
1 January 2008
Filed under Django, Site news, Technology
While compiling my 2007 year-end posting statistics post, I made an observation that I had built a nice following of commeters. My posting volume had gone down, my content length had increased, and with that, I saw an explosion in the number of people commenting on my blog. So with that information under my belt, I’ve finally got comments up and running here on the site. I’m using the largely undocumented (and unconverted to newforms) django.contrib.comments. Trust me, the built-in commenting that comes with Django is feature-packed and super-cool, but it could really use some documentation. However, I assume this is on hold and didn’t make the Django Book because of the aforementioned newforms upgrade it so badly needs.
For those who are interested in the nerdy details, I’m using the FreeComment system, which means people don’t have to have accounts to leave comments. There is also a full Comment system which includes attaching photos and a full-blown Karma system. Understandably, I was extremely worried about spam comments, seeing as how my old blog would get anywhere from 100 to 1000 of them each day. 95% of the spam comments left are usually caught by the built-in Akismet spam filtering in Wordpress, so I sought out an Akismet solution for Django’s commenting system.
I didn’t have to look very far.
James Bennett has written a concise comment moderation script that ties into Django’s signaling and passes the comment through Akismet using this python module.
I litting poking here, some digging through the comments module there, a little CSS styling and template munging, and we’re here with a simple commenting system. I’m debating having a feed for comments and/or a comment stream in one of my sidebars, but that’s not for today.
Enjoy and please comment your brains out!


7 Comments
#1. Clint Ecker posted this 8 months ago.
Testing out this bad boy on the real server :)
#2. Jacqui posted this 8 months ago.
I am leaving a comment.