Proyecto y aplicación en Django

En Django, tenemos que tener claro dos conceptos claves, un proyecto y aplicación.

Un proyecto en Django consta de una o muchas aplicaciones; es decir, para poder hacer algo interesante en nuestro proyecto, debemos de tener al menos una aplicación.

Un proyecto es una colección de configuraciones y aplicaciones para un sitio web en particular. Un proyecto puede contener múltiples aplicaciones. Una aplicación puede estar en múltiples proyectos.

Una aplicación en Django, es una aplicación web que hace algo, por ejemplo, un sistema de registro web, una base de datos de registros públicos, una Api Rest, una app de venta de algo, etc.

Y en definitiva, el proyecto contiene las aplicaciones y configuraciones a nivel global, como la base de datos, aplicaciones instaladas, middlewares, templates, etc y las aplicaciones son las que realizan las funciones que nosotros implementamos.

El uso de Django para crear aplicaciones, está fuertemente ligado al concepto modularización, y por ende, podemos crear múltiples aplicaciones pequeñas que realizan tareas en particular, para que en conjunto, podemos tener la aplicación final que nosotros queremos; por ejemplo, para una aplicación tipo blog:

  1. Una aplicación para el listado y detalle de los posts.
  2. Una aplicación para manejar la autenticación, registro y derivados.
  3. Una aplicación para manejar los contactos, así como manejar comentarios de post y demás.
  4. Una aplicación para manejar una api rest.
  5. Una aplicación para manejar información base, como de contacto y "acerca de".

La lista anterior es un esbozo, y no colocamos la descripción completa de lo que haría cada aplicación.

Así que, en definitiva, la idea es modularizar nuestra aplicación (usando el concepto de aplicación como el producto final); no tienes que seguir esta estructura al pie de la letra, puedes agregar, quitar o fusionar aplicaciones, pero siempre ten en mente, que, mientras más modular mejor será la escalabilidad y mantenimiento del proyecto.

Crear un proyecto en Django

Para crear un proyecto en Django, tenemos el siguiente comando:

$ django-admin startproject mystore

Esto nos generará finalmente el conjunto de carpetas y archivos que componen un proyecto en Django que vamos a explicar a continuación.

Importante notar que “mystore” es el nombre del proyecto que vamos a crear pero, puede tener cualquier otro nombre.

Estructura del proyecto

Si ejecutas el comando anterior, verás que se crean un conjunto de carpetas y archivos que vamos a pasar a explicar.

Estos archivos son:

La carpeta raíz mystore/ (o el nombre que escogieron para crear el proyecto): No es más que el contenedor para el proyecto; aquí están las configuraciones y aplicaciones.

manage.py: Una utilidad de línea de comandos que permite interactuar con este proyecto.

mystore/__init__.py: Un archivo vacío que le dice a Python que este directorio debe considerarse un módulo de Python.

mystore/settings.py: Ajustes o configuración para este proyecto.

mystore/urls.py: Las declaraciones de las URLs para el proyecto.

mystore/asgi.py: Archivo de configuración para servir el proyecto en un servidor de tipo ASGI.

mystore/wsgi.py: Archivo de configuración para servir el proyecto en un servidor de tipo WSGI.

- Andrés Cruz

In english
Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.