Generar un nuevo proyecto¶
Con el entorno virtual previamente creado y activado, y Django instalado, podemos utilizar el comando django-admin startproject para generar la estructura inicial de un proyecto llamado mysite:
(.venv) django-admin startproject mysite .
Estructura del proyecto generado
myproject
├── mysite
│ ├── __init__.py#(1)!
│ ├── asgi.py#(2)!
│ ├── settings.py#(3)!
│ ├── urls.py#(4)!
│ └── wsgi.py#(5)!
└── manage.py#(6)!
- Identifica el directorio como un paquete Python.
- Permite la integración con servidores ASGI.
- Contiene la configuración del proyecto.
- Define las rutas principales.
- Permite la integración con servidores WSGI.
- Ejecuta comandos administrativos del proyecto.
-
Estructura recomendada
Al utilizar el punto (
.) al final del comando, los archivos se crean en el directorio actual, evitamos duplicar directorios y facilita la gestión de rutas.
(.venv) django-admin startproject mysite
Estructura del proyecto generado
myproject
└── mysite
├── mysite
│ ├── __init__.py#(1)!
│ ├── asgi.py#(2)!
│ ├── settings.py#(3)!
│ ├── urls.py#(4)!
│ └── wsgi.py#(5)!
└── manage.py#(6)!
- Identifica el directorio como un paquete Python.
- Permite la integración con servidores ASGI.
- Contiene la configuración del proyecto.
- Define las rutas principales.
- Permite la integración con servidores WSGI.
- Ejecuta comandos administrativos del proyecto.
-
Estructura contraproducente
Esta forma duplica carpetas e incómoda el flujo de trabajo. Nos obliga a entrar a una subcarpeta (
cd mysite) solo para usar elmanage.py, además de enredar el manejo de rutas.

