Django Comment Email Notifications

Django's bundled comments application doesn't feature comment email notifications. This can be added in a few lines using signals.

Improving Server Performance with Nginx, Gunicorn and Static Generator

This week a colleague of mine wrote a particularly popular blog post that put significant strain on our servers. Many websites are not built to withstand load, including the Django powered timothyfletcher.com, so I set out to fix that using Nginx, Gunicorn and Jared Kuolt's staticgenerator.

Avoiding Circular Model Imports in Django

There's been a couple of times when working with Django that I've run into issues with circular imports. These usually manifest themselves as an ImportError: cannot import name <model_name> exception when importing one model into another to use as a foreign key.

Understanding Django Models, ModelForms and Widgets

I have a habit of getting confused with the forms module when I'm working with Django. It's not that I don't have a reasonable understand how it works, it's just that there's a few idiosyncrasies that trip me up. That's not cool so I spent a few hours making sure I understood these fundamental concepts. This is what I learned.

Search any Site from Chrome's URL Bar

Being a web developer means referencing online documentation all the time. Google Chrome allows you to do this is a brilliantly efficient way. Here’s how to do it. read more…

Setuptools Zipimport IOError

After installing Python's Pygments module on my slice I ran into a strange error when trying to run a django app.

Django Gotchas when moving to a Production Server

If you're a developer learning Python/Django then you're almost certain to run into some of the same issues that I did. In particular, when deploying to a production server, the admin throws a 500 error and when trying to troubleshoot, your changes have no effect.

Python Module on Import Path Won't Import

I just ran into an interesting issue whilst implementing Akismet spam protection on my contact form. Although the akismet.py module was on my import path, the module wouldn't import in a python shell.

Changing File Names with the Keyboard in Textmate

I’ve been using Textmate for well over a year and it took me a significant portion of that time to work out (because I couldn’t find any documentation) that you can actually edit a filename using the keyboard. Just select it and hit <space> This read more…

Problems with python-twitter

Although python-twitter was working fine on my local development machine, I couldn't get it working on my Slicehost Ubuntu VPS. The error Django/Python would throw was:

'module' object has no attribute 'Api' twitter

A New Chapter in Django

I’ve been keen to breathe some life into my blog for a while. As with all things, there just never seemed an opportunity until that is, I was introduced to the rapid web application development framework, Django. So, to coincide with my taking on a full time position at Lift Interactive here in deep freeze Edmonton, I’ve rebuilt everything using what is certainly one of the finest frameworks out there. read more…

I'm a 30 year old British web developer working for Lift Interactive in Edmonton, Canada.

Elsewhere