Django es un framework de desarrollo web en Python que permite construir aplicaciones de manera rápida y segura. Su arquitectura basada en el patrón MVT (Modelo-Vista-Template) facilita la organización del código y su mantenimiento. En esta guía aprenderás a crear tu primer proyecto en Django paso a paso. Requisitos previos Antes de comenzar, asegúrate de tener instalado:
- Python 3.8 o superior (
python --version
). - pip, el gestor de paquetes de Python (
pip --version
). - Un entorno virtual para aislar dependencias.
pip install django
Una vez instalado, verifica la versión con:
django-admin --version
Creando un proyecto Django
Para iniciar un nuevo proyecto, usa el comando:
django-admin startproject mi_proyecto
Esto generará una estructura de carpetas como esta:
mi_proyecto/
manage.py
mi_proyecto/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
Ejecutando el servidor de desarrollo
Para probar que todo funciona, mueve al directorio del proyecto y ejecuta:
cd mi_proyecto
python manage.py runserver
Si ves un mensaje indicando que el servidor está corriendo en http://127.0.0.1:8000/, todo está funcionando correctamente.
Creando una aplicación
En Django, las aplicaciones son módulos independientes dentro de un proyecto. Para crear una, usa:
python manage.py startapp blog
Esto creará una nueva carpeta blog
con la siguiente estructura:
blog/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
Registrando la aplicación en Django
Para que Django reconozca la aplicación, agrégala en INSTALLED_APPS
dentro de settings.py
:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
Definiendo un modelo
En models.py
de la aplicación blog
, define un modelo para representar una entrada de blog:
from django.db import models
class Post(models.Model):
titulo = models.CharField(max_length=200)
contenido = models.TextField()
fecha_publicacion = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.titulo
Ejecutando migraciones
Para aplicar los cambios en la base de datos, ejecuta:
python manage.py makemigrations
python manage.py migrate
Creando un superusuario
Para acceder al panel de administración, crea un superusuario con:
python manage.py createsuperuser
Sigue las instrucciones para definir un nombre de usuario y contraseña.
Registrando el modelo en el panel de administración
En admin.py
dentro de blog
, registra el modelo:
from django.contrib import admin
from .models import Post
admin.site.register(Post)
Creando una vista y una URL
En views.py
de la aplicación blog
:
from django.shortcuts import render
from .models import Post
def lista_posts(request):
posts = Post.objects.all()
return render(request, 'blog/lista_posts.html', {'posts': posts})
Luego, en urls.py
del proyecto, crea una ruta:
from django.urls import path
from blog.views import lista_posts
urlpatterns = [
path('posts/', lista_posts, name='lista_posts'),
]
Creando una plantilla
Dentro de blog/templates/blog/lista_posts.html
:
<!DOCTYPE html>
<html>
<head>
<title>Lista de Posts</title>
</head>
<body>
<h1>Lista de Posts</h1>
<ul>
{% for post in posts %}
<li><strong>{{ post.titulo }}</strong> - {{ post.fecha_publicacion }}</li>
{% endfor %}
</ul>
</body>
</html>
Ejecutando el servidor y viendo la aplicación
Corre el servidor nuevamente:
python manage.py runserver
Visita http://127.0.0.1:8000/posts/ en tu navegador para ver la lista de posts.
Conclusión
Siguiendo estos pasos, has creado tu primer proyecto Django, una aplicación de blog básica con modelos, vistas, URLs y plantillas. Ahora puedes seguir explorando Django agregando autenticación de usuarios, formularios y personalización de la interfaz. ¡Sigue practicando y mejorando tu proyecto!