Posted 10:43 p.m., Wednesday 4 December, 2013.
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.
Posted 8:52 a.m., Thursday 1 August, 2013.
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.
Posted 9:17 p.m., Friday 19 July, 2013.
Posted 6:29 p.m., Tuesday 2 July, 2013.
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.
Posted 5:59 p.m., Tuesday 18 June, 2013.
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.
Posted 7:01 a.m., Friday 11 January, 2013.
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)
Posted 9:11 p.m., Thursday 10 January, 2013.
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.
Posted 8:42 a.m., Thursday 5 July, 2012.
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.
Posted 7:21 p.m., Friday 15 June, 2012.
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.
Posted 3:47 p.m., Monday 11 June, 2012.
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.
Posted 10:05 p.m., Wednesday 29 February, 2012.
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.
Posted 10:50 a.m., Sunday 6 November, 2011.
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.
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.
Posted 3:39 p.m., Sunday 23 January, 2011.
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.
Posted 6:25 p.m., Friday 11 June, 2010.
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.
Posted 7:24 p.m., Monday 1 June, 2009.
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.
Posted 7:04 p.m., Wednesday 8 April, 2009.
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.
Posted 7:27 p.m., Monday 6 April, 2009.
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!
Posted 8:02 p.m., Monday 2 February, 2009.
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.
Posted 7:01 p.m., Wednesday 28 January, 2009.
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.
© Copyright 2006- Ross Poulton. All Rights Reserved unless explicitly defined.
Opinions expressed here are my own, and not those of my employer or any other party.