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

results matching ""

    No results matching ""