Descripción general

Django es un framework web de Python de alto nivel que fomenta el desarrollo rápido y un diseño limpio y pragmático. Incluye un ORM, un panel de administración, sistema de autenticación y motor de plantillas integrados.

Antes de empezar
Asegúrate de tener tu panel abierto - necesitarás las credenciales de Git que se muestran allí. Esta plantilla incluye Django, Gunicorn, mysqlclient para soporte de MySQL y Django REST Framework.

Inicio rápido

1

Crear repositorio desde plantilla

En tu panel, ve a la pestaña Tools & Deployment. Haz clic en el botón "New Repository", selecciona la plantilla de Django del menú desplegable, introduce un nombre de repositorio y un subdominio, y luego haz clic en "Create Repository".

2

Clona tu repositorio

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Instala las dependencias

pip install -r requirements.txt
4

Configura la base de datos y ejecuta migraciones

Actualiza la configuración de la base de datos en settings.py (consulta Configuración de la base de datos abajo) y luego ejecuta:

python manage.py migrate
python manage.py runserver

El servidor se ejecuta en http://localhost:8000 por defecto.

5

Sube tus cambios

git add .
git commit -m "Initial setup"
git push origin main
Cada push a Git despliega tu aplicación automáticamente. Consulta tu URL de trabajo del módulo en el panel para ver tu sitio en vivo.

Desarrollo local con Docker

Si no tienes Python instalado localmente, puedes usar Docker para ejecutar tu aplicación Django.

¿Qué es Docker?
Docker crea "contenedores" aislados con todo el software que necesitas (Python, pip) sin instalarlo en tu ordenador.

Ejecutar comandos con Docker

# Install dependencies
docker run --rm -v $(pwd):/app -w /app python:3.12 pip install -r requirements.txt

# Run development server
docker run --rm -v $(pwd):/app -w /app -p 8000:8000 python:3.12 sh -c "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"

Configuración de la base de datos

La plataforma NStrim te proporciona una base de datos MySQL/MariaDB. Actualiza la configuración DATABASES en tu archivo settings.py.

Actualizar settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '<username>',
        'USER': '<username>',
        'PASSWORD': '<password>',
        'HOST': 'db.<session-domain>',
        'PORT': '3306',
    }
}
Importante
El nombre y el usuario de tu base de datos suelen ser idénticos a tu nombre de usuario del panel (por ejemplo, student01). Consulta la sección de credenciales de tu panel para los valores exactos.

Estructura del proyecto

├── project/
│   ├── settings.py            # Configuración del proyecto
│   ├── urls.py                # Configuración raíz de URLs
│   └── wsgi.py                # Punto de entrada WSGI
├── app/
│   ├── models.py              # Modelos de la base de datos
│   ├── views.py               # Funciones / clases de vistas
│   ├── urls.py                # Patrones de URL de la app
│   ├── serializers.py         # Serializadores de DRF
│   ├── admin.py               # Configuración del panel admin
│   └── templates/             # Plantillas HTML
├── static/                    # CSS, JS, imágenes
├── manage.py                  # CLI de gestión de Django
├── requirements.txt           # Dependencias Python
└── Dockerfile                 # Configuración Docker
        

Tareas comunes

Crear un modelo

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.name

Crear una vista

from django.http import JsonResponse
from .models import User

def user_list(request):
    users = list(User.objects.values('id', 'name', 'email'))
    return JsonResponse(users, safe=False)

Configuración de URLs

from django.urls import path
from . import views

urlpatterns = [
    path('users/', views.user_list, name='user-list'),
]

Comandos útiles

python manage.py runserver Iniciar el servidor de desarrollo
python manage.py migrate Ejecutar migraciones de la base de datos
python manage.py makemigrations Crear migraciones nuevas a partir de cambios en modelos
python manage.py createsuperuser Crear un usuario admin para el panel /admin
python manage.py shell Shell interactivo de Python con Django

Resolución de problemas

OperationalError: (2002) Can't connect to MySQL server

Causa: El host de la base de datos es incorrecto o no es accesible.

Solución: Comprueba que HOST en la configuración DATABASES coincide con el host de la base de datos de tu panel.

OperationalError: (1045) Access denied for user

Causa: Nombre de usuario o contraseña incorrectos.

Solución: Comprueba dos veces que USER y PASSWORD en tu settings.py coinciden exactamente con las credenciales de tu panel.

No module named 'MySQLdb'

Solución: Instala el cliente MySQL: pip install mysqlclient. En macOS también puedes necesitar: brew install mysql-client.

DisallowedHost: Invalid HTTP_HOST header

Solución: Añade tu dominio de despliegue a ALLOWED_HOSTS en settings.py: ALLOWED_HOSTS = ['*']

Flujo de despliegue

Cambio de código git push pip install ¡En vivo!
Para más información, visita la documentación oficial de Django.