---
title: "FAQ: Utilizzare Django"
version: 4.2
locale: it
source: https://docs.djangoproject.com/it/4.2/faq/usage/
canonical: https://djangodocs.dev/it/4.2/faq/usage/
---
# FAQ: Utilizzare Django

## Perché ricevo un errore all’importazione di [`DJANGO_SETTINGS_MODULE`](/it/4.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE)?

Assicurati che:

- La variabile d’ambiente [`DJANGO_SETTINGS_MODULE`](/it/4.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE) è impostata ad un modulo Python fully-qualified (ad es. mysite.settings\`).
- Il modulo suddetto è nel `sys.path` (`import mysite.settings` deve funzionare).
- Il modulo non contiene errori di sintassi.

## Non riesco a comprendere il vostro linguaggio dei template. Devo usarlo per forza?

Noi pensiamo che il nostro motore per il template sia la cosa migliore dopo il bacon a pezzetti, ma dobbiamo riconoscere che la scelta di un linguaggio di template è qualcosa di simile a una religione. In Django nulla richiede l’uso del suo linguaggio di template, quindi se siete attaccati a Jinja2, Mako, o qualunque altro, sentitevi liberi di usarlo.

## È necessario usare il livello di astrazione modello/database?

No, proprio come il sistema dei template, la parte modello/database non è in alcun modo legata al resto del framework.

L’eccezione è: se usi una diversa libreria per database, non potrai usare il sito di amministrazione generato automaticamente da Django. Quella app è legata allo strato di gestione del database di Django.

## Come si utilizzano i campi immagine e file?

Usare un [`FileField`](/it/4.2/ref/models/fields/#django.db.models.FileField) o un [`ImageField`](/it/4.2/ref/models/fields/#django.db.models.ImageField) in un model richiede alcuni passaggi:

1. Nel tuo file di impostazioni, dovrai definire [`MEDIA_ROOT`](/it/4.2/ref/settings/#std-setting-MEDIA_ROOT) come il percorso completo dove ti piacerebbe che Django mettesse i file caricati. (Per ragioni di performance, questi file non vengono messi nel database). Definisci [`MEDIA_URL`](/it/4.2/ref/settings/#std-setting-MEDIA_URL) come il percorso URL base pubblico di quella directory. Assicurati che questa directory sia scrivibile dall’account utente del webserver.
2. Aggiungi il [`FileField`](/it/4.2/ref/models/fields/#django.db.models.FileField) o [`ImageField`](/it/4.2/ref/models/fields/#django.db.models.ImageField) al tuo model, definendo l’opzione  [`upload_to`](/it/4.2/ref/models/fields/#django.db.models.FileField.upload_to) per specificare una sottodirectory di [`MEDIA_ROOT`](/it/4.2/ref/settings/#std-setting-MEDIA_ROOT) da usare per i file inviati al server.
3. Tutto ciò che sarà memorizzato nel tuo database è un path al file (relativo a [`MEDIA_ROOT`](/it/4.2/ref/settings/#std-setting-MEDIA_ROOT)). Probabilmente vorrai usare la comodità dell’attributo [`url`](/it/4.2/ref/models/fields/#django.db.models.fields.files.FieldFile.url) fornito da Django. Per esempio, se il tuo [`ImageField`](/it/4.2/ref/models/fields/#django.db.models.ImageField) si chiama `mug_shot`, in un template puoi avere il path assoluto alla tua immagine con `{{ object.mug_shot.url }}`.

## Come faccio a rendere disponibile una variabile a tutti i miei template?

A volte i tuoi templates hanno tutti bisogno della stessa cosa. Un esempio sono i menu generati dinamicamente. A prima vista, sembra logico aggiungere un dizionario comune al contesto del template.

Il modo migliore per farlo in Django è usare: \`\` RequestContext\`\`. I dettagli su come farlo sono qui: [Using RequestContext](/it/4.2/ref/templates/api/#subclassing-context-requestcontext).
