# Organización de un proyecto Django
- Un desarrollo es un Proyecto
- Un proyecto consta de una o varias aplicaciones
- Cada aplicación hace algo en concreto
- Proyecto: "Comunidad web"
- Aplicaciones: blog, foro, registro de usuarios, tienda online, newsletter, agregador de feeds...
- Una aplicación puede ser utilizada por distintos proyectos a la vez
- Un proyecto puede hacer funcionar varios sitios web
Estructura de un proyecto Django
/project/
/project/
__init__.py
urls.py
manage.py
settings.py
blog/
__init__.py
models.py
views.py
urls.py
templates/
static/
foro/
__init__.py
models.py
views.py
urls.py
templates/
# Archivos de una aplicación
__init__.pymodels.pyContiene nuestros modelos de datosviews.pyContiene las vistas de la aplicacióntests.pyPermite que incluyamos tests para la aplicaciónurls.pyEs usual añadir unurls.pycon las URLs de nuestra aplicación e importarlas en elurls.pydel proyecto por motivos de organización.
# Instalación
python3 -m venv venv
source venv/bin/activate # ./venv/Scripts/activate
pip install Django
django-admin startproject
# Desarrollo
python manage.py runserver
python manage.py migrate
# Apps
django-admin startapp main
python manage.py makemigrations
python manage.py migrate