• 3.2
  • dev
  • Documentation version: 4.0

FAQ: Utilizzare Django

Perché ricevo un errore all’importazione di DJANGO_SETTINGS_MODULE?

Assicurati che:

  • The environment variable DJANGO_SETTINGS_MODULE is set to a fully-qualified Python module (i.e. 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 o un ImageField in un model richiede alcuni passaggi:

  1. 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.
  2. Aggiungi il FileField o ImageField al tuo model, definendo l’opzione upload_to per specificare una sottodirectory di 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). Probabilmente vorrai usare la comodità dell’attributo url fornito da Django. Per esempio, se il tuo 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.

Back to Top