Desarrolle una sólida comprensión de los roles y funciones de los proyectos y aplicaciones dentro del marco Django.

En Django, puede usar dos componentes principales para crear una aplicación web; aplicaciones y proyectos. Los desarrolladores a veces usan estos términos indistintamente, aunque tienen distintos significados y funciones en el marco web de Django.

Comprender los proyectos de Django

En Django, un proyecto es un contenedor de nivel superior para su aplicación web. Un proyecto contiene las configuraciones para su aplicación web y una o más aplicaciones, cada una de las cuales proporciona un conjunto específico de funcionalidades o características para su aplicación web. También contiene cualquier componente compartido entre sus diferentes aplicaciones. En un proyecto de Django, puede encontrar herramientas y utilidades que facilitan la administración de su aplicación web, como la utilidad de línea de comandos de Django y el servidor de desarrollo de Django.

Componentes de un Proyecto Django

Un proyecto de Django generalmente contiene diferentes aplicaciones y las configuraciones de su aplicación web. Cada vez que crea un nuevo proyecto, Django genera automáticamente archivos que contienen estas configuraciones. Los componentes incluidos en un proyecto Django son:

  1. Ajustes: El módulo de configuración contiene las configuraciones necesarias para su proyecto y las aplicaciones individuales en su proyecto. Este módulo contiene principalmente opciones de configuración, como la conexión a la base de datos, el middleware, la aplicación instalada, los hosts permitidos y otras configuraciones necesarias para que funcione su aplicación web.
  2. URL: El módulo de URL define un patrón de URL para su aplicación. Cada patrón de URL en su proyecto puede asignarse a otro patrón de URL en su aplicación o directamente a una función de vista que maneja la solicitud de la URL específica. Ya sea que el patrón de URL se asigne a una función de vista u otro patrón de URL en su aplicación, el objetivo final es asignarlo a una vista que maneje la solicitud de manera efectiva.
  3. WSGI: El módulo WSGI (interfaz de puerta de enlace del servidor web) es el estándar de Python para aplicaciones y servidores web. El módulo WSGI hace posible que Django se ejecute en varios servidores.
  4. ASGI: El módulo ASGI (Interfaz de puerta de enlace de servidor asíncrono) maneja solicitudes asíncronas como Conexiones WebSockets. ASGI es un estándar para servidores web asíncronos para comunicarse con aplicaciones web de Python.
  5. Otros componentes: A veces, se le pedirá que agregue sus propios componentes a su proyecto Django, según los requisitos de su aplicación. Estos componentes incluyen archivos estáticos, plantillas, archivos multimedia y comandos de administración personalizados.

Cómo crear un proyecto Django

Para crear un proyecto Django, debe usar el django-admin utilidad de línea de comandos. Puede crear su proyecto Django siguiendo estos pasos:

  1. En su interfaz de línea de comandos, navegue hasta el directorio donde desea crear su proyecto Django.
  2. Instale Django con el administrador de paquetes pip.
    pip instalar django
  3. Escribe el siguiente comando y ejecútalo:
    django-admin proyecto de inicio 

El comando anterior creará un directorio como este:

Notará una redundancia en los nombres de su directorio de proyectos, es decir, el nombre de su proyecto aparece dos veces. Si desea deshacerse de esto, puede agregar un período cuando ejecuta su proyecto de inicio comando como este:

django-admin proyecto de inicio  .

Ahora, la estructura de su proyecto se verá así:

Con los pasos anteriores, debe haber creado con éxito un Proyecto Django. El gestionar.py El archivo creado en su proyecto es importante para interactuar con su proyecto Django.

Comprender una aplicación Django

El propósito de una aplicación es proporcionar a su proyecto Django una funcionalidad específica. Una aplicación lo ayuda a organizar su código base dividiendo las funcionalidades de su proyecto en componentes más pequeños.

Por ejemplo, en un proyecto de blog, tendrá una aplicación dedicada a la autenticación y autorización y otra dedicada a las publicaciones de blog. Puede crear varias aplicaciones en función de las necesidades específicas de su proyecto.

Componentes de una aplicación Django

Una aplicación Django consta de módulos relacionados con el proyecto, es decir, con una característica específica de su sitio web. Al igual que con un proyecto, Django genera automáticamente archivos útiles cuando crea una aplicación. Los archivos generados por Django incluyen lo siguiente:

  1. vistas.py: Este archivo contendrá toda la lógica necesaria para recibir solicitudes y enviar respuestas. También determina qué plantilla HTML representar en función de las acciones del usuario en su sitio web.
  2. modelos.py: Este módulo establece la estructura de datos de su aplicación y determina cómo la base de datos los almacenará. Utiliza el ORM (Mapeo relacional de objetos) de Django para definir los datos. El componente de modelos define diferentes relaciones de base de datos en Django.
  3. administrador.py: El módulo de administración define la interfaz de administración de su aplicación Django. Debe registrar sus modelos dentro del archivo de administración. Si necesita funciones de administración adicionales además de las proporcionadas por Django, puede definir vistas personalizadas para su interfaz de administración en este módulo.
  4. urls.py: este archivo define los patrones de URL o las rutas exclusivas de una aplicación de Django en particular. A veces, Django no genera automáticamente este archivo. Si esto sucede, puede crearlo manualmente en el directorio de su aplicación.

Django genera algunos otros componentes, como aplicaciones.py y pruebas.py. Estos archivos definen las configuraciones de su aplicación y le permiten escribir pruebas unitarias respectivamente.

Cómo crear una aplicación Django

Antes de crear una aplicación, debe haber creado un proyecto. Después de crear su proyecto, navegue hasta el directorio que contiene el gestionar.py archivo y ejecute el siguiente comando en su terminal:

python manage.py proyecto de inicio 

El comando anterior creará una estructura de carpetas como esta en el mismo nivel de directorio que su proyecto:

Diferencia entre una aplicación y un proyecto en Django

Hay algunas diferencias claras entre un proyecto y una aplicación en Django. Algunos de ellos se enumeran a continuación.

Reutilización de código

En Django, una aplicación es un componente reutilizable de su aplicación web. Esto significa que si tiene una aplicación que maneja la autenticación de usuarios para un proyecto, puede reutilizar la misma aplicación en otro proyecto con pocos o ningún cambio. Un proyecto, por otro lado, no es reutilizable. Una vez que crea un proyecto para una aplicación web en particular, no puede usarlo para otra aplicación.

Alcance de la operación

Un proyecto opera en un nivel más alto que una aplicación porque es responsable de la configuración y administración general de su sitio web. Por otro lado, una aplicación solo es responsable de una característica o funcionalidad específica de su sitio web.

Estructura de carpetas

La diferencia más obvia entre una aplicación y un proyecto es su estructura de carpetas. Un proyecto generalmente incluye configuraciones y otros archivos de configuración responsables del bienestar de su sitio web.

Sigue una aplicación Arquitectura MVT de Django. Solo contiene archivos y configuraciones responsables del bienestar de una característica específica de su sitio web.

Su proyecto y aplicación trabajan juntos para crear una buena aplicación web

Aunque su proyecto y aplicación tienen su singularidad, en última instancia, se utilizan para brindarle una experiencia perfecta al crear su aplicación. Debería poder combinar los componentes del proyecto y de la aplicación para crear y personalizar su aplicación web. Con su aplicación y proyecto listos, puede comenzar a crear su sitio web con Django.