Segunda parte de como generar un blog con Django partiendo de mi aversión a WordPress.
Tras generar la aplicación en Django necesitamos generar el Blog persé, para ello tenemos que personalizar varios archivos, los "frontales" o el html que nos permitirá ordenar y dar estilo a lo que ve el usuario y la lógica detras de publicar y mostrar entradas de blog.
Para ello partiremos de nuestro esquema:
chachiproyecto/ │ ├── chachiblog/ │ │ │ ├── migrations/ │ │ └── __init__.py │ │ │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── models.py │ ├── tests.py │ └── views.py │ ├── chachiproyecto/ │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py │ └── manage.py
Comenzaremos por definir el modelo de "post" en el blog para lo cual editaremos el archivo models.py
En este punto crearemos una clase "Post" que incluirá los atributos que sabemos que tendrá cada entrada del post, algo parecido a:
class Post(models.Model): serial = models.AutoField(primary_key=True) title = models.CharField(max_length=200) meta = models.CharField(max_length=300) content = models.TextField() thumbnail_img = models.ImageField(null=True, blank=True, upload_to="images/") thumbnail_url = models.URLField(blank=True, null=True) category = models.CharField(max_length=255, default="uncategorized") slug = models.CharField(max_length=100) time = models.DateField(auto_now_add=True)
Aquí incluiremos el serial como un id, un título, meta, contenido, categoría y todo lo que podáis necesitar.
Por otro lado, generaremos los htmls para ver las entradas. En este caso empezaremos con dos, la vista general de entradas y la especifica para una entrada.
Como el header, footer y demás son comunes, utilizaremos un archivo base.html que luego incluiremos en blog.html y blogpost.html quedando así:
chachiproyecto/ │ ├── chachiblog/ │ │ │ ├── migrations/ │ │ └── __init__.py │ │ │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── models.py │ ├── tests.py │ └── views.py │ ├── chachiproyecto/ │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── templates/ │ ├── base.html │ ├── blog.html │ ├── blogpost.html └── manage.py
Copyright © TheDarknest All Rights Reserved