I frequently work on my laptop, and am always disappointed at how quickly the battery drains while running Django's python manage.py runserver command. Turns out that runserver is quite a resource hog as it constantly scans the files in your directory to check for changes and reload the server when it detects a change. This is extremely convenient during development, but if you'd prefer to stretch your battery life and reload the server manually, it's very easy to do. Just add the --noreload option:

python manage.py runserver --noreload

That's it! You'll enjoy much longer battery life and Python will draw almost zero CPU and IO as you develop. Just be sure to Ctrl+C and re-start the server when you want to re-load your changes.