feat: added improvements from django-htmx-template
This commit is contained in:
@@ -65,16 +65,20 @@ uv sync --group dev
|
||||
```
|
||||
|
||||
Crea un archivo `.env` en la raíz del proyecto (ver
|
||||
[Variables de entorno](#variables-de-entorno) más abajo). Para desarrollo
|
||||
local basta con:
|
||||
[Variables de entorno](#variables-de-entorno) más abajo). `SECRET_KEY` y
|
||||
`ALLOWED_HOSTS` son las únicas que no tienen un valor por defecto (a
|
||||
propósito: una clave/lista de hosts insegura conocida de antemano no
|
||||
protege nada), así que hacen falta incluso en desarrollo local:
|
||||
|
||||
```env
|
||||
DEBUG=True
|
||||
SECRET_KEY=cualquier-cadena-larga-y-aleatoria
|
||||
ALLOWED_HOSTS=*
|
||||
```
|
||||
|
||||
Con eso, la app arranca con SQLite, `SECRET_KEY` de desarrollo, envío de
|
||||
email al backend de consola (se imprime en la terminal en vez de mandarse
|
||||
de verdad) y sin credenciales adicionales.
|
||||
Con eso, la app arranca con SQLite, envío de email al backend de consola
|
||||
(se imprime en la terminal en vez de mandarse de verdad) y sin
|
||||
credenciales adicionales.
|
||||
|
||||
```bash
|
||||
uv run python manage.py migrate
|
||||
@@ -164,12 +168,17 @@ commit.
|
||||
|
||||
Todas se leen en `config/settings/env.py`; sin `.env`, o si falta alguna,
|
||||
se usan los valores por defecto indicados (pensados para desarrollo local).
|
||||
`SECRET_KEY` y `ALLOWED_HOSTS` son la excepción: no tienen valor por
|
||||
defecto, así que el arranque falla con un error claro
|
||||
(`ImproperlyConfigured`) si faltan, en vez de servir tráfico con una clave
|
||||
insegura conocida de antemano o con el check de `Host` desactivado de
|
||||
hecho.
|
||||
|
||||
| Variable | Por defecto | Descripción |
|
||||
|---|---|---|
|
||||
| `SECRET_KEY` | clave insegura de desarrollo | **Cámbiala en producción.** |
|
||||
| `SECRET_KEY` | *(obligatoria)* | Clave única y secreta. **Distinta en cada entorno, nunca la de otro despliegue.** |
|
||||
| `DEBUG` | `False` | Activa páginas de error detalladas, Django Debug Toolbar y Silk. No debe estar activo en producción. |
|
||||
| `ALLOWED_HOSTS` | `*` | Lista separada por comas. Debe restringirse a los dominios reales en producción. |
|
||||
| `ALLOWED_HOSTS` | *(obligatoria)* | Lista separada por comas. `*` vale para desarrollo local; restringida a los dominios reales en producción. |
|
||||
| `CSRF_TRUSTED_ORIGINS` | `http://localhost:8000` | Lista separada por comas. Necesario si la app se sirve detrás de un dominio/HTTPS distinto. |
|
||||
| `DATABASE_URL` | `sqlite:///db.sqlite3` | Formato `django-environ` (p. ej. `postgres://usuario:password@host:5432/nombre_bd`). |
|
||||
| `S3_ENABLED` | `False` | Si es `True`, los archivos subidos (imágenes de portada/patrón) se guardan en S3 en vez de en el filesystem local. |
|
||||
@@ -219,7 +228,10 @@ La imagen Docker ya ejecuta `collectstatic`, `compilemessages` y el
|
||||
CSS precompilado al construirse, y sirve la app con Uvicorn (variables
|
||||
`WSGI_HOST`/`WSGI_WORKERS` para ajustar host/nº de workers). WhiteNoise se
|
||||
encarga de servir los estáticos directamente desde la propia app, sin
|
||||
necesidad de un servidor/proxy de estáticos aparte.
|
||||
necesidad de un servidor/proxy de estáticos aparte; también sirve
|
||||
`/media/` (portadas/imágenes de patrón) cuando `S3_ENABLED=False` (ver
|
||||
`crochet/middleware.py`), así que tampoco hace falta nada aparte para eso
|
||||
salvo que uses S3.
|
||||
|
||||
Al hacer push a `master` se dispara la integración continua (tests) y,
|
||||
si pasan, se construye y publica una imagen Docker (ver
|
||||
|
||||
Reference in New Issue
Block a user