Estructura de archivos y carpetas

Django tiene una estructura de archivos y carpetas que se debe seguir para que el proyecto funcione correctamente. A continuación se muestra la estructura de archivos y carpetas de un proyecto Django:

Tip

Recuerda crear el entorno virtual y activarlo antes de ejecutar el comando.

python -m venv venv
source venv/bin/activate

Creamos un directorio con el siguiente comando:

mkdir myproject
cd myproject

Instalamos Django con el siguiente comando:

pip install django==4.2.0

Creamos el proyecto con el siguiente comando:

django-admin startproject myproject .
├── manage.py
└── myproject
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

1.- Archivo de gestión del proyecto.

2.- Carpeta del proyecto.

3.- Archivo de configuración de ASGI.

4.- Archivo de inicialización del proyecto.

5.- Archivo de configuración del proyecto.

6.- Archivo de configuración de las rutas del proyecto.

7.- Archivo de configuración de WSGI.

Creación de una aplicación Django

Para crear una aplicación Django se debe ejecutar el siguiente comando:

1python manage.py startapp myapp
1
Nombre de la aplicación.

Configuración de la base de datos

Para configurar la base de datos se debe modificar el archivo settings.py del proyecto. A continuación se muestra un ejemplo de configuración de la base de datos:

DATABASES = {
    'default': {
1        'ENGINE': 'django.db.backends.sqlite3',
2        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
1
Motor de base de datos.
2
Ruta del archivo de la base de datos.

Ejemplo

En este ejemplo crearemos una aplicación que muestre un mensaje en la página principal. Para ello, se deben seguir los siguientes pasos:

  1. Crear una vista.
  2. Crear una plantilla.
  3. Configurar las rutas.

Crear una vista

Para crear una vista se debe modificar el archivo views.py de la aplicación. A continuación se muestra un ejemplo de vista:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world!")

Crear una plantilla

Para crear una plantilla se debe crear una carpeta llamada templates en la carpeta de la aplicación. A continuación se muestra un ejemplo de plantilla:

<!DOCTYPE html>
<html>
<head>
    <title>MyApp</title>
</head>
<body>
    <h1>Hello, world!</h1>
</body>
</html>

Para que Django pueda encontrar la plantilla, se debe configurar la ruta de la plantilla en el archivo settings.py del proyecto. A continuación se muestra un ejemplo de configuración de la ruta de la plantilla:


TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
1        'DIRS': [BASE_DIR / 'templates'],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
1
Ruta de la plantilla.

Configurar las rutas

Para configurar las rutas se debe modificar el archivo urls.py de la aplicación. A continuación se muestra un ejemplo de configuración de las rutas:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

Correr el servidor de desarrollo

Para correr el servidor de desarrollo se debe ejecutar el siguiente comando:

python manage.py runserver

Acceder a la aplicación

Para acceder a la aplicación se debe abrir un navegador web y escribir la siguiente URL:

http://127.0.0.1:8000/

Posiblemente sea necesario preparar las migraciones y aplicarlas a la base de datos:

1python manage.py makemigrations
2python manage.py migrate
1
Prepara las migraciones.
2
Aplica las migraciones a la base de datos.

Acceder a la aplicación

Para acceder a la aplicación se debe abrir un navegador web y escribir la siguiente URL:

http://127.0.0.0.1:8000/

Muy bien hecho! Has creado tu primera aplicación Django. Ahora puedes seguir explorando la documentación oficial de Django para aprender más sobre el framework.

Asignación

Seguir cada uno de los pasos de esta sección para crear una aplicación Django que muestre un mensaje en la página principal. La aplicación debe tener los siguientes archivos y carpetas:

├── manage.py
├── myproject
│   ├── asgi.py
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── myapp
    ├── __init__.py
    ├── admin.py
    ├── apps.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    ├── views.py
    └── templates
        └── index.html

1.- Archivo de gestión del proyecto.

2.- Carpeta del proyecto.

3.- Archivo de configuración de ASGI.

4.- Archivo de inicialización del proyecto.

5.- Archivo de configuración del proyecto.

6.- Archivo de configuración de las rutas del proyecto.

7.- Archivo de configuración de WSGI.

8.- Carpeta de la aplicación.

9.- Archivo de inicialización de la aplicación.

10.- Archivo de configuración del administrador de Django.

11.- Archivo de configuración de la aplicación.

12.- Carpeta de migraciones de la aplicación.

13.- Archivo de inicialización de las migraciones.

14.- Archivo de configuración de los modelos de la aplicación.

15.- Archivo de pruebas de la aplicación.

16.- Archivo de configuración de las vistas de la aplicación.

17.- Carpeta de plantillas de la aplicación.

18.- Archivo de la plantilla de la aplicación.

Recuerda que para que Django pueda encontrar la plantilla, se debe configurar la ruta de la plantilla en el archivo settings.py del proyecto. A continuación se muestra un ejemplo de configuración de la ruta de la plantilla:


TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
1        'DIRS': [BASE_DIR / 'templates'],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
1
Ruta de la plantilla.

Referencias