GMail vs. Mail.app
Confession: I’ve never liked webmail – I was a hardcore Eudora user for ages, then spent five years with BeOS desktop mail clients, then a year with Entourage on the Mac before finally switching four...
View Articledjango-profiles: The Missing Manual
The User model in Django is intentionally basic, defining only the username, first and last name, password and email address. It’s intended more for authentication than for handling user profiles. To...
View ArticlePopulate Mailman Lists from Django Projects
I spent much of the summer building an intranet in Django for Miles’ school. Since the school is a co-op, we need to keep track a lot of stuff – charges, credits, and obligations, parents, students,...
View ArticlePython-MySQL Connections and Snow Leopard
Apparently I’m not the only one having trouble getting MySQL and Python to play nice under OS X — last February’s post on getting the two to cooperate under OS X has generated a ton of traffic. Now...
View ArticleGenerating RSS Mashups from Django
I recently got to work on an interesting Django side project: the Bay News Network – a directory of Bay Area bloggers and hyperlocal news sites. The goal of the site was three-fold: To create a...
View Articledjango-treedata: DataSF Contest Winner
Recently I was invited to participate in the California Data Camp and DataSF App Contest hosted by California Watch and spot.us. The unconference would feature lots of discussion about making use of...
View ArticleReading .rst doc files with sphinx
Quite a few re-usable Django apps and Python modules come with documentation in text files ending with a .rst extension. The formatting in them is odd, but they’re more-or-less readable. To this day, I...
View ArticleAllowing Secure User Input with Django
Building a site that needs to accept formatted user input? There’s no way you’re going to let random users input any old HTML – you’d open the door to all kinds of cross-site-scripting attacks and...
View ArticleBuilding a Bucketlist Site with Django
Half a year ago, I got this crazy idea to build a site where people could log and record all the things they wanted to accomplish before they died. But more than just simple list-making, I wanted to...
View ArticleEncouraging users to add avatars to profiles
One of the things that has vexed me since launching bucketlist.org a few months ago is the fact that most users don’t enter any sort of profile information whatsoever – not even an icon/avatar to...
View ArticleShorter URLs with Base62 in Django
URL shorteners have become a hot commodity in the age of Twitter, where every byte counts. Shorteners have their uses, but they can also be potentially dangerous, since they mask the true destination...
View ArticleMigrating from Django-Tagging to Taggit
When Bucketlist launched a year ago and I needed a good app to let users create a taxonomy for their life goals, django-tagging was the main contender, and that’s what we went with. Django-tagging...
View ArticleBuilding mod_wsgi with EasyApache for WHM/cPanel
Note: These instructions are for root owners of WHM/cPanel systems, not end users. If you want to run Django sites on a cPanel server, you’ll probably want to use the mod_wsgi Apache module. There are...
View Article