Django help you build your website rapidly with least code duplication. Then, after you finish the developing work for your site, next thing you should consider is how to optimize it to serve more user. This article talk about the main areas to improve django performance.
Cache is important for every site no matter what framework used. The lucky thing is django provide a quite simple way to enable cache. Although Django supports many cache backends, I highly recommended your choose memcached which has proved to be a high-performance distributed memory object caching system. Don't be afraid of the word "distributed", memcached is extremely simple for setup and deploy consider other distributed system. Check more information at Django’s cache framework.
Merge & Minify Media
Enable GZip Module
Enable gzip can speed up pageload. It's said that gzip can reduce the content size by 70% ~ 80%. Of course, enable gzip take a little extra CPU and memory cost, so you'll consider which is more important. However in most cases, enable gzip is a better choice. To enable gzip you can use apache mod_deflate module in your Django hosting environment, or, simple add "django.middleware.gzip.GZipMiddleware" into your MIDDLEWARE_CLASSES in settings.py.
Use separate domains for static and media files
Create subdomains for static files media files. Do not forget add their url and path to settings.py (STATIC_URL, STATIC_ROOT, MEDIA_URL, MEDIA_ROOT).
Code Level Optimization
An effective code make more senses than the aboving ways. However, how to write effective codes is not include in this article. Your can find some tips at Database access optimization.