Django setup iniziale
Installazione e configurazione
Virtualenv
sudo apt-get install virtualenv
mkdir django; cd django
virtualenv env
source env/bin/activate
Utilizzare poi il comando deactivate
per uscire dall'ambiente.
Ogni volta che si apre una nuova shell è necessario riconfigurare l'ambiente andando nella cartella django ed eseguendo source env/bin/activate
.
Installazione Django
pip install --proxy=proxy.regione.piemonte.it:3128 django
django-admin.py startproject master
cd master
python manage.py runserver
L'installazione a cui si fa riferimento è Django-1.9.6-py2.py3-none-any.whl.
Creazione di una applicazione
Dalla cartella in cui è presente il file master.py eseguire
python manage.py startapp didattica
per creare la nostra applicazione didattica.
Aggiungere il nome della applicazione nel file master/settings.py
INSTALLED_APPS = (
…
'didattica',
)
Routing degli URL
Nel file master/urls.py è contenuta la lista di URL gestiti dal progetto. All'array urlpatterns aggiungere la riga url(r'^$', 'didattica.views.home', name='home'),
come segue per creare la prima pagina del progetto:
from didattica.views import home
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', home, name='home'),
]
Creazione di una vista base
Le viste della applicazione didattica sono definite nel file didattica/views.py, creiamo la nostra prima vista come segue:
from django.shortcuts import render
# ...
def home(request):
return render(request, 'didattica/home.html', { 'message': 'Welcome home' })
La vista fa riferimento ad un template HTML a cui viene passato un dizionario con le variabili da utilizzare per il contenuto dinamico.
Creiamo il template didattica/templates/didattica/home.html come segue:
<h1>{{message}}</h1>
Abilitazione dell'interfaccia di amministrazione
L'interfaccia di amministrazione è disponibile all'URL /admin/, ma per accedervi è necessario Per accedervi è necessario inizializzare il progetto e creare il superuser con username e password (es. admin ed admin123).
python manage.py migrate
python manage.py createsuperuser