I'm Ross. These are my blog posts tagged django.

Djangosites Open Sourced

Posted 10:43 p.m., Wednesday 4 December, 2013. Tagged djangosites, programming, code, django and opensource

I've been promising it for years, but never gotten around to it. Finally, I've pushed the source code for djangosites.org up to Github.

Tracking CPC Results in Django

Posted 8:52 a.m., Thursday 1 August, 2013. Tagged advertising, code, django and programming

Like many startups, I use CPC ads to attract attention to WhisperGifts. I bid a set fee per click for particular search words on Google, and for ads shown to my target demographic on Facebook. I wanted to track an individual signup to their source CPC campaign, so put together a really quick bit of Django middleware to help me out.

New Podcast: Django Roundup

Posted 9:17 p.m., Friday 19 July, 2013. Tagged programming, django-readonly-site, code, flattery, django and podcasts

The team over at Lincoln Loop have just started a new Django podcast - and their very first item in podcast #1 was a nice little review of django-readonly-site!


Posted 6:29 p.m., Tuesday 2 July, 2013. Tagged django-readonly-site, code, django and programming

Ever wanted to keep your site online, but shut some parts of it (such as the checkout, or the signup page) down for database maintenance or other such reasons? I've just pushed a little helper app to GitHub, which I've previously extracted from WhisperGifts. It's called django-readonly-site and is available in PyPi now.

Getting Paid in Django with Pin Payments

Posted 5:59 p.m., Tuesday 18 June, 2013. Tagged code, django and programming

For a long time, it's been tough to accept payments online in Australia. Of course we had PayPal, but we never got any great tools like Stripe, like our peers in the US. Recently, Pin Payments started as an "Australian version of Stripe". They're still getting started, but they're open for business - so I wrote a small Django library called django-pinpayments to make it easier to use Pin within your Django app.

The Definitive Answer, Explained

Posted 7:01 a.m., Friday 11 January, 2013. Tagged technical decisions, business and django

Yesterday I posted that Django was almost certainly suitable to use for your project. Here's my explanation of my one-word answer, with my views on how your non-technical business should make technical decisions. (Hint: You shouldn't)

The Definitive Answer To "Can I Use Django For This Project?"

Posted 9:11 p.m., Thursday 10 January, 2013. Tagged technical decisions, django and programming

Short: Yes.

Longer: Almost certainly. If you don't know any technical reason why Django isn't a good fit, then Django is probably a good fit.

WhisperGifts: The Tech That Let Me Launch

Posted 8:42 a.m., Thursday 5 July, 2012. Tagged django, whispergifts and tech

The WhisperGifts re-launch recently went very well! I promised a more technical follow-up with some details about what's new and what's changed, so if you want to know more about what makes WhisperGifts tick then you'll want to read on. Hint: It's a dash of Django, a pinch of Python, and a slathering of open-source software all around.

DjangoSites Move Complete

Posted 7:21 p.m., Friday 15 June, 2012. Tagged djangosites, devops, servers, django and tech

I've finished migrating DjangoSites to it's new home, and everything should be back online. I've got a few tips for migrating simple Django-powered sites if you click through to read the rest of this blog post.

DjangoSites Downtime - Server Move

Posted 3:47 p.m., Monday 11 June, 2012. Tagged django and djangosites

Heads-up: DjangoSites.org will be down, at some point in the next week, while I move it to a new server. Expected downtime is approximately 1 hour to transfer files & database; if your ISP has DNS servers that don't observe TTL then you might not see updates for a while longer.

Key-based cache expiration with Django

Posted 10:05 p.m., Wednesday 29 February, 2012. Tagged django and caching

Last week, the team over at 37Signals wrote up an article on their newly implemented Key-based cache expiration system and it hit me: It's such a simple idea with obvious benefits, why hadn't I implemented a similar caching mechanism before? Being a Django user, the Rails code didn't make much sense to me but the concept certainly did - so here's my take on it with a quick Django example.

Small open-source release: django-menu

Posted 10:50 a.m., Sunday 6 November, 2011. Tagged menus, open-source, code, github and django

Many moons ago on this blog I wrote about a simple menuing system for Django. For the sake of convenience, I've just packaged up that code (plus a few minor improvements) into a package named django-menu which is also available via PyPi with pip install django-menu. Basic documentation is included in the package and in the git repository.


Posted 9:31 p.m., Thursday 27 January, 2011. Tagged jutda, django-helpdesk, open-source and django

A while ago I released a helpdesk tool that I use to manage support requests, under the name of Jutda Helpdesk (named after my small consulting company). The project has received a slow but steady stream of patches and bug fixes, however it's always been a little tricky to manage with a single committer over at Google Code. To make life easier for everybody involved, I've renamed the project to django-helpdesk and shifted the source code and issue management to GitHub.

DjangoSites Deployment Statistics

Posted 3:39 p.m., Sunday 23 January, 2011. Tagged djangosites, django and stats

A long time ago I started collecting statistics from people submitting their sites to DjangoSites. I promised to collate the results one day - and here they are.

Gracious E-Mail Bounce Handling in Django with Postmark

Posted 6:25 p.m., Friday 11 June, 2010. Tagged email, django and postmark

When a user signs up on your website with an invalid email address, how do you let them know? In most cases, the bounces go into the inbox of an admin who ignores them, or even worse they don't go into any monitored inbox. Recently I've started using a 3rd party for my email delivery, which has made dealing with bounced emails much easier both for me and my customers. Read on to see how I integrated Postmark's bounce API with Django, and implemented a user-friendly alert on DjangoSites.org when signup emails bounce.

Update Your DjangoSites Screenshots When You Want

Posted 7:24 p.m., Monday 1 June, 2009. Tagged django and djangosites

I often get asked to update website screenshots over at DjangoSites because somebody has re-designed their website, or the screenshot showed a cross-browser bug in their code. I'm now pleased to announce that screenshots can be renewed on-demand by website owners! Read on for more information.

Django Site of the Week: The A.V. Club

Posted 7:04 p.m., Wednesday 8 April, 2009. Tagged django and sotw

It's been a while, but the Django Site of the Week is back. This week I spoke to Tom Tobin, developer at satire news site The Onion, about their Django-powered site The A.V. Club. Originally a Drupal website, Tom and his team converted the site to Django over a period odds three months. So how do they handle a million unique views a month? Read the article to find out.

The Django Deployment Survey: How Are You Hosting Django Websites?

Posted 7:27 p.m., Monday 6 April, 2009. Tagged djangosites, deployment, survey and django

What's the most popular method of deploying Django powered websites? Recently, the officially sanctioned method was selected to be mod_wsgi with Apache. However, there are Django powered websites out there that are using a plethora of other methods to put websites in front of viewers.

A change for DjangoSites has just been made public that will allow website submitters to volunteer their deployment details, so that over time detailed statistics can be gathered. If your website is listed at DjangoSites, you can click the 'Edit' link right away to let us know what you're using. If you aren't yet listed, the submission form also lets you provide those details.

The results will not be shown alongside your DjangoSites listing. Instead, once there are more than a handful of responses I will publish aggregated figures for public consumption. Read on for a little more information!

Django Site of the Week: Deskography

Posted 8:02 p.m., Monday 2 February, 2009. Tagged django and sotw

Seeing how other people work is something that seems to be of interest to most developers. Whether it's because they want to become better workers themselves or because they're somewhat voyeuristic is open to debate - either way, Django-powered website Deskography is a well-designed social desk-sharing website. This week, I spoke to Gustaf Sjöberg of Distrop to find out why they chose Django to power Deskography, and what it's allowed them to do. You can read the interview over at the Django Site of the Week.

Full-text searching in Django with PostgreSQL and tsearch2

Posted 7:01 p.m., Wednesday 28 January, 2009. Tagged fulltext, searching, django and tutorial

Recently, I have wanted to improve the searching ability in a number of my Django projects. I've often added a search box that simply does an icontains filter, which works fine for small sites but doesn't scale due to the inefficiency of matching text with basic SQL queries. The plus side of an icontains filter is that it works on all of Django's database backends (with the exception of SQLite, which works but in a case-sensitive way), so it can be useful for pluggable applications to implement. I wanted something that could do some heavier lifting, so I looked into tsearch2 - a PostgreSQL plugin that provides full-text indexing and searching that's twice as fast as standard icontains filters. On DjangoSites I managed to reduce my search queries to half their original time, with improved accuracy. Read the full article to find out how.


Want to see more? Check out the yearly archives below.