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.