# documentación de Django - 5.1.7

# FAQ: Usando Django

## ¿Por qué recibo un error al importar `DJANGO_SETTINGS_MODULE`?

Asegúrese de que:

- La variable de entorno `DJANGO_SETTINGS_MODULE` se establece en un módulo Python completo (es decir, `mysite.settings`).

- Dicho módulo está en `` sys.path`` (`import mysite.settings` debería funcionar).

- Este módulo no continue errores de sintaxis.

## No soporto su lenguaje de plantillas. ¿Tengo que usarlo?

Nosotros pensamos que nuestro motor de plantillas es la segunda mejor cosa después del tocino en trozos, pero reconocemos que escoger un lenguaje de plantillas es algo parecido a una religión. No hay nada acerca de Django que requiera usar el lenguaje de plantillas, así que si está apegado a Jinja2, Mako o lo que sea, siéntase libre de usarlos.

## ¿Tengo que utilizar su capa del modelo y la capa de base de datos?

No. Al igual que el sistema de plantillas, la capa del modelo y la capa de base de datos está separada del resto del framework.

La única excepción es que: si usted utiliza una librería de base de datos diferente, no logrará utilizar el sitio administrativo generado automáticamente de Django. Esa aplicación se acopla a la capa de base de datos de Django.

## ¿Cómo uso los campos de imágenes y archivos?

Utilizar una `FileField` o una :class:`~django.db.models.ImageField`en un modelo toma unos pocos pasos:

1. En su archivo de configuración, deberá definir `MEDIA_ROOT` como la ruta completa a un directorio donde desea que Django almacene los archivos cargados. (Para el rendimiento, estos archivos no se almacenan en la base de datos). Defina `MEDIA_URL` como la dirección URL pública base de ese directorio. Asegúrese de que la cuenta de usuario del servidor web pueda escribir este directorio.

2. Añada la `ImageField` a su modelo, definiendo la opción `upload_to` para especificar un subdirectorio de `MEDIA_ROOT` a utilizar para los archivos subidos.

3. Todo lo que se guardará en su base de datos es una ruta de acceso al archivo (relativa a `MEDIA_ROOT`). Usted probablemente querrá utilizar el atributo de conveniencia `url` proporcionado por Django. Por ejemplo, si su `ImageField` se llama `mug_shot`, usted puede obtener la ruta absoluta a su imagen en una plantilla con `{{ object.mug_shot.url }}`.

## ¿Cómo hago que una variable esté disponible para todas mis plantillas?

Algunas veces tus plantillas van a necesitar lo mismo. Un ejemplo común serian menus generados dinámicamente. A primer vista, parece lógico agregar un diccionario común al contexto de la plantilla.

La mejor manera de hacer esto en Django es haciendo uso de `RequestContext`. Detalles de como realizar esto se encuentran aquí: Using RequestContext.