I've created a patch for this that adds a "--nostatic" option to the "runserver" management command which prevents the StaticFilesHandler from being loaded. If the option is not used, the StaticFilesHandler will be used (as it is currently on trunk at r14509).

This seems like a more appropriate solution than using django.conf.settings, since it only affects the "runserver" manage command.

If this patch needs additional tests or documentation, I'd be happy to help with that as well.

Updated StaticFilesHandler and AdminMediaHandler
to make use of the 404 handler if needed.

Updated runserver management command to serve static files
only in DEBUG mode (or if specified the --insecure option)
and if the staticfiles app is in INSTALLED_APPS. Also added
an option to disable serving completely (--nostatic).

Added check in debug mode if STATICFILES_* settings are
different to MEDIA_* settings.

Removed a faulty PendingDeprecationWarning in AdminMediaHandler
that is triggered every time runserver is used.

Fixed an issue with the modification time checks when
running collectstatic.

Extended and refined documentation.

Thanks to everyone for input, especially to Carl Meyer, Ted Kaemming and
Adam Vandenberg for patches.