03. L'Applicazione Posts
Ora come ci veniva suggerito da Django, creiamo subito la nostra prima applicazione, che sarà Post! Per crearla ci basta lanciare uno dei sottocomandi di manage.py:
python manage.py startapp posts
Creiamo la classe Post all'interno del file models.py
A questo punto posso iniziare a modellare la nostra app come vogliamo modificando lo script models.py all'interno della cartella posts:
from django.db import models
# Create your models here.
class Post(models.Model):
titolo = models.CharField(max_length=120)
contenuto = models.TextField()
data = models.DateTimeField(auto_now=False, auto_now_add=True) # auto_now_add setta quando il file viene creato, quindi solo una volta
slug = models.SlugField()
def __str__(self):
return self.titolo
Aggiorniamo settings.py ed effettuiamo la migrazione nel database
Ora dobbiamo aggiungere l'app posts alle applicazioni installate in settings.py, modificando INSTALLED_APPS:
# ...
INSTALLED_APPS = [
'posts',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Ora non ci resta che scrivere le modifiche nel database, tramite il comando che abbiamo già visto. Prima di scriverle dovremo però crearle con il comando makemigrations:
# creiamo le migrazioni in 0001_initial.py
python manage.py makemigrations
# output
Migrations for 'posts':
posts\migrations\0001_initial.py
- Create model Post
# scriviamo le migrazioni sul database, che aggiungeranno ad esso il model Post
python manage.py migrate
# output
Operations to perform:
Apply all migrations: admin, auth, contenttypes, posts, sessions
Running migrations:
Applying posts.0001_initial... OK
Nella prossima lezione vedremo come utilizzare la nostra applicazione dall'interno del pannello di amministrazione di Django per creare nuovi post.
01. Introduzione
02. Installazione di Django
03. L'Applicazione Posts
04. La Sezione ADMIN
05. Architettura MTV, Urls e Views
06. Templates e Views
07. HomePage: Lista dei Post
08. Renderizzare Post Singoli
09. get_absolute_url
10. Paginazione dei Post
11. Ereditarietà tra Templates
12. File Statici
13: Bootstrap
14. Barra di Navigazione
15. Footer e Immagini
16. Grid System
17. Live su Digital Ocean