Django - Creazione di un progetto
Ora che abbiamo installato Django, iniziamo a usarlo. In Django, ogni app web che vuoi creare è chiamata progetto; e un progetto è una somma di applicazioni. Un'applicazione è un insieme di file di codice che si basano sul pattern MVT. Ad esempio diciamo di voler costruire un sito web, il sito web è il nostro progetto e, il forum, le notizie, il motore di contatto sono applicazioni. Questa struttura semplifica lo spostamento di un'applicazione tra i progetti poiché ogni applicazione è indipendente.
Crea un progetto
Che tu sia su Windows o Linux, procurati un terminale o un file cmd prompt e vai al luogo in cui desideri creare il tuo progetto, quindi usa questo codice -
$ django-admin startproject myproject
Questo creerà una cartella "myproject" con la seguente struttura:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
wsgi.py
La struttura del progetto
La cartella "myproject" è solo il contenitore del tuo progetto, in realtà contiene due elementi:
manage.py- Questo file è una sorta di django-admin locale del tuo progetto per interagire con il tuo progetto tramite riga di comando (avvia il server di sviluppo, sincronizza db ...). Per ottenere un elenco completo dei comandi accessibili tramite manage.py puoi utilizzare il codice -
$ python manage.py help
The “myproject” subfolder- Questa cartella è l'effettivo pacchetto Python del tuo progetto. Contiene quattro file:
__init__.py - Solo per Python, tratta questa cartella come un pacchetto.
settings.py - Come indica il nome, le impostazioni del progetto.
urls.py- Tutti i link del tuo progetto e la funzione da chiamare. Una sorta di ToC del tuo progetto.
wsgi.py - Se devi distribuire il tuo progetto su WSGI.
Impostazione del progetto
Il tuo progetto è impostato nella sottocartella myproject / settings.py. Di seguito sono riportate alcune importanti opzioni che potresti dover impostare:
DEBUG = True
Questa opzione ti consente di impostare se il tuo progetto è in modalità debug o meno. La modalità di debug ti consente di ottenere maggiori informazioni sull'errore del tuo progetto. Non impostarlo mai su "True" per un progetto live. Tuttavia, questo deve essere impostato su "True" se si desidera che il server Django light serva file statici. Fallo solo in modalità sviluppo.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'database.sql',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
Il database è impostato nel dizionario "Database". L'esempio sopra è per il motore SQLite. Come affermato in precedenza, Django supporta anche:
- MySQL (django.db.backends.mysql)
- PostGreSQL (django.db.backends.postgresql_psycopg2)
- Oracle (django.db.backends.oracle) e NoSQL DB
- MongoDB (django_mongodb_engine)
Prima di impostare qualsiasi nuovo motore, assicurati di aver installato il driver db corretto.
Puoi anche impostare altre opzioni come: TIME_ZONE, LANGUAGE_CODE, TEMPLATE ...
Ora che il tuo progetto è stato creato e configurato assicurati che funzioni -
$ python manage.py runserver
Otterrai qualcosa di simile al seguente eseguendo il codice sopra:
Validating models...
0 errors found
September 03, 2015 - 11:41:50
Django version 1.6.11, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.