We happen to think our template engine is the best thing since chunky bacon,
but we recognize that choosing a template language runs close to religion.
There’s nothing about Django that requires using the template language, so
if you’re attached to Jinja2, Mako, or whatever, feel free to use those.

In your settings file, you’ll need to define MEDIA_ROOT as
the full path to a directory where you’d like Django to store uploaded
files. (For performance, these files are not stored in the database.)
Define MEDIA_URL as the base public URL of that directory.
Make sure that this directory is writable by the Web server’s user
account.

All that will be stored in your database is a path to the file
(relative to MEDIA_ROOT). You’ll most likely want to use the
convenience url attribute
provided by Django. For example, if your
ImageField is called mug_shot, you can get
the absolute path to your image in a template with
{{object.mug_shot.url}}.