This is a drop-in replacement for Django's runserver command for the impatient.
Django's development server restarts itself whenever it detects a change in any loaded module, which is great.
What's not so great is that during the restart, there is a window of time where, if you're like me, you'd be hitting Ctrl+R key repeatedly on the browser only to be greeted with
ECONNREFUSED because the server is not ready.
Django-pserver solves this problem by reusing the listening socket when it restarts, so you can just hit refresh once and wait (retaining your sanity.)
To use it, simply add
pserver to your
INSTALLED_APPS, and run
manage.py runserverp with options as usual.
I've tested this on Django 1.2.4 and 1.3, but it could well work with other versions.
> I've made this compatible with Django 1.5, but not tested with < 1.5.
Tested on OS X only, but should work on any UNIX variant. It will probably break horribly on Windows.
> Works like a charm on Linux afaik. And what kind of an idiot uses Django on Windows?