=================FAQ: Using Django=================Why do I get an error about importing :envvar:`DJANGO_SETTINGS_MODULE`?=======================================================================Make sure that:* The environment variable :envvar:`DJANGO_SETTINGS_MODULE` is set to afully-qualified Python module (i.e. ``mysite.settings``).* Said module is on ``sys.path`` (``import mysite.settings`` should work).* The module doesn't contain syntax errors.I can't stand your template language. Do I have to use it?==========================================================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, soif you're attached to Jinja2, Mako, or whatever, feel free to use those.Do I have to use your model/database layer?===========================================Nope. Just like the template system, the model/database layer is decoupled fromthe rest of the framework.The one exception is: If you use a different database library, you won't get touse Django's automatically-generated admin site. That app is coupled to theDjango database layer.How do I use image and file fields?===================================Using a :class:`~django.db.models.FileField` or an:class:`~django.db.models.ImageField` in a model takes a few steps:#. In your settings file, you'll need to define :setting:`MEDIA_ROOT` asthe full path to a directory where you'd like Django to store uploadedfiles. (For performance, these files are not stored in the database.)Define :setting:`MEDIA_URL` as the base public URL of that directory.Make sure that this directory is writable by the web server's useraccount.#. Add the :class:`~django.db.models.FileField` or:class:`~django.db.models.ImageField` to your model, defining the:attr:`~django.db.models.FileField.upload_to` option to specify asubdirectory of :setting:`MEDIA_ROOT` to use for uploaded files.#. All that will be stored in your database is a path to the file(relative to :setting:`MEDIA_ROOT`). You'll most likely want to use theconvenience :attr:`~django.db.models.fields.files.FieldFile.url` attributeprovided by Django. For example, if your:class:`~django.db.models.ImageField` is called ``mug_shot``, you can getthe absolute path to your image in a template with``{{ object.mug_shot.url }}``.How do I make a variable available to all my templates?=======================================================Sometimes your templates all need the same thing. A common example would bedynamically generated menus. At first glance, it seems logical to add a commondictionary to the template context.The best way to do this in Django is to use a ``RequestContext``. Details onhow to do this are here: :ref:`subclassing-context-requestcontext`.