FAQ: Utilizzare DjangoLink to this heading
Perché ricevo un errore all’importazione di DJANGO_SETTINGS_MODULE?Link to this heading
Assicurati che:
La variabile d’ambiente
DJANGO_SETTINGS_MODULEè impostata in un modulo Python completo (ad esempio «miosito.settings»).Il modulo suddetto è nel
sys.path(import mysite.settingsdeve funzionare).Il modulo non contiene errori di sintassi.
Non riesco a comprendere il vostro linguaggio dei template. Devo usarlo per forza?Link to this heading
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?Link to this heading
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?Link to this heading
Usare un FileField o un ImageField in un model richiede alcuni passaggi:
Nel tuo file di configurazione, devi impostare
MEDIA_ROOTcon il path assoluto ad una directory in cui vuoi che Django salvi i file caricati. (A causa delle prestazioni, questi file non sono salvati nel database.) ImpostaMEDIA_URLcome la URL pubblica di base di quella directory. Sii sicuro che questa directory abbia il permesso di scrittura da parte dell’utenza del Web server.Aggiungi il
FileFieldoImageFieldal tuo model, definendo l’opzioneupload_toper specificare una sottodirectory diMEDIA_ROOTda usare per i file inviati al server.Tutto ciò che sarà memorizzato nel tuo database è un path al file (relativo a
MEDIA_ROOT). Probabilmente vorrai usare la comodità dell’attributourlfornito da Django. Per esempio, se il tuoImageFieldsi chiamamug_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?Link to this heading
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.