SQLite3

In any non trivial Django application you have to have a database, the question is: Do you have the knowledge, the resources, or the need to run a database server? In most of the cases, SQlite3 will suffice. Any of the new version of python already come with the bindings needed for sqlite3, so you do not need to install anything. One way to verify that you already have the python-sqlite3 bindings is by importing sqlite3 from your interpreter. If you do not get any errors importing it, it means that you having the python bidings.

Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2

>>> import sqlite3

Having the bindings for python doesn't mean that you have have the actual sqlite3 library installed. Depending on your platform you may need to install sqlite3 in a different way for ubuntu users you only need to install sqlite3 and libsqlite3-dev.

(rochapps)ubuntu@RochApps: sudo apt-get install sqlite3 libsqlite3-dev

#typing sqlite3 should give you access to your sqlite3 console

(rochapps)ubuntu@RochApps: sqlite3

SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

Once you have everything installed you now need to change your DATABASE settings in your settings.py file.

Something to note here is that Django will create the database file if one doesn't exist. Many developers use sqlite3 for their development machine because it takes less time to setup. I, however, prefer to mimic the same environment on both my development machine and production server: I either run sqlite3 or pogrestql on both machines.