Mejores prácticas para una estructura de directorio de trabajo de Django
Django es un fantástico marco de desarrollo web de código abierto basado en Python que puede utilizar para crear aplicaciones web de pila completa. Dado que es un marco, inicialmente se pueden esperar muchos archivos dentro de los proyectos. Puede ser demasiado abrumador para un principiante al principio, pero no hay nada de qué preocuparse; todo parecerá sencillo con el tiempo.
Una aplicación web tiene dos caras: desarrollo y producción. El lado de desarrollo tiene diferentes configuraciones en comparación con el lado de producción. Las aplicaciones de Django tienen muchas carpetas como static
, medios
, plantillas
, etc. Dado que Django existe desde hace un tiempo, necesita conocer las mejores prácticas para una estructura de directorio de trabajo de Django para proyectos más exitosos en área. Hablaremos sobre estos métodos aquí en el artículo, ¡así que sigue leyendo!
Estructura del directorio de Django
La estructura de directorios de un proyecto de Django debería verse así:
Project Folder/
.gitignore
LICENSE.rst or LICENSE.md
Documentation/
README.rst or README.md
environment
requirements.txt
MyProject/
manage.py
media/
MyProject/
__init__.py
settings/
__init__.py
base.py
development.py
production.py
.env
urls.py
wsgi.py
AppOne/
static/
AppOne/
templates/
AppOne/
urls.py
views.py
models.py
AppTwo/
static/
AppTwo/
templates/
AppTwo/
urls.py
views.py
models.py
AppThree/
static/
AppThree/
templates/
AppThree/
urls.py
views.py
models.py
Carpeta raíz de Django
La carpeta raíz, Carpeta del proyecto
, contiene los proyectos de Django y todos los demás archivos relacionados con el proyecto, como la licencia
, README
, entorno
, requisitos.txt
, .gitignore
y Documentación o Docs
.
Carpeta del proyecto Django
Dentro del proyecto Django, MyProject
, debería estar el archivo manage.py
, la carpeta media
, la carpeta MyProject
que contiene el archivo settings.py
y las aplicaciones Django.
Carpeta de configuración del proyecto Django
Por defecto, Django nos proporciona un único archivo settings.py
y algunos otros archivos importantes como urls.py
, wsgi.py
, etc. El archivo settings.py
contiene configuraciones tanto para producción como para desarrollo. Por lo tanto, puede crecer en longitud para un proyecto más significativo.
Por lo tanto, dividir la configuración en sus respectivos archivos es una gran idea. El archivo base.py
contiene la configuración que se aplica tanto al desarrollo como a la producción. El archivo development.py
contiene todas las configuraciones aplicables para el desarrollo, y production.py
tiene todas las configuraciones de producción.
Los lados de desarrollo y producción pueden tener diferentes configuraciones de base de datos, configuraciones de validación de contraseñas, configuraciones de correo electrónico, configuraciones de pago, claves API y otras configuraciones.
Si está utilizando Python Desacoplamiento
para almacenar datos confidenciales, el archivo .env
también debería estar en esta carpeta.
Aplicaciones de Django
Cada aplicación Django tendrá una carpeta static
y una carpeta plantillas
. Dentro de estas carpetas, habrá otra carpeta con el nombre de la aplicación. Dentro de estas carpetas, colocaremos todos los archivos y plantillas estáticos.
Este enfoque nos permite tener varios archivos con el mismo nombre. Por ejemplo, cada aplicación puede tener un archivo index.html
y un style.css
, y será más fácil acceder a ellos.
----------
HTML Files
----------
{% url 'AppOne/index.html' %}
{% url 'AppTwo/index.html' %}
{% url 'AppThree/index.html' %}
---------
CSS Files
---------
{% static 'AppOne/style.css' %}
{% static 'AppTwo/style.css' %}
{% static 'AppThree/style.css' %}