3.4 KiB
AYUDA DJANGO
============
Proyecto Django: Blog Simple
Este proyecto creará un blog básico donde los usuarios podrán ver una lista de publicaciones y acceder a los detalles de cada una.
Paso 1: Instalar Django
Si no tienes Django instalado, ejecuta:
pip install django
Paso 2: Crear un Proyecto Django
django-admin startproject blog_project
cd blog_project
Paso 3: Crear la Aplicación del Blog
python manage.py startapp blog
Registre la aplicación en blog_project/settings.pydentro de INSTALLED_APPS:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog', # Agregamos nuestra aplicación
]
Paso 4: Definir el modelo de publicación
Edita blog/models.py:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
Aplica las migraciones para crear la tabla en la base de datos:
python manage.py makemigrations
python manage.py migrate
Paso 5: Registrar el Modelo en el Panel de Administración
Edita blog/admin.py:
from django.contrib import admin
from .models import Post
admin.site.register(Post)
Crea un superusuario:
python manage.py createsuperuser
Corre el servidor y accede al panel de administración en http://127.0.0.1:8000/admin:
python manage.py runserver
Desde ahí, puedes agregar publicaciones manualmente.
Paso 6: Crear las Vistas y URL
Edita blog/views.py:
from django.shortcuts import render, get_object_or_404
from .models import Post
def lista_posts(request):
posts = Post.objects.all().order_by('-created_at')
return render(request, 'blog/lista_posts.html', {'posts': posts})
def detalle_post(request, post_id):
post = get_object_or_404(Post, id=post_id)
return render(request, 'blog/detalle_post.html', {'post': post})
Crea blog/urls.py:
from django.urls import path
from . import views
urlpatterns = [
path('', views.lista_posts, name='lista_posts'),
path('post/int:post\_id/', views.detalle_post, name='detalle_post'),
]
Registra las rutas en blog_project/urls.py:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blog.urls')),
]
Paso 7: Crear las Plantillas HTML
Dentro de blog/templates/blog/, crea lista_posts.html:
<html> <head> </head>Publicaciones
-
{{ post.title }}
({{ post.created_at|date:"d M Y" }})
{% for post in posts %}
{% endfor %}
Crea detalle_post.html:
<html> <head> </head>{{ post.title }}
{{ post.created\_at|date:"d M Y" }}
{{ post.content }}
Volver al blog
</html>Paso 8: Ejecutar el Proyecto
Corre el servidor:
python manage.py runserver
Abre http://127.0.0.1:8000/y prueba la aplicación.