Skip to content

Commit 6f6b648

Browse files
authored
Merge pull request #449 from pythoncanarias/docs-improvements
Mejoras en documentación
2 parents 7551037 + 571c441 commit 6f6b648

6 files changed

Lines changed: 103 additions & 4 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,4 @@ tags
9999

100100
certificates/media
101101
.prettierignore
102+
.parcel-cache/

apps/organizations/models.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,12 @@ class Meta:
6363

6464

6565
def clear_organization_cache(sender, **kwargs):
66-
"""Limpia la cache de la informacion sobre la organizacion.
66+
"""Limpia la cache de la información sobre la organización.
6767
68-
Ver commons.content_procesors.main_organization_data.
68+
Ver `commons.content_procesors.main_organization_data`.
6969
70-
Cada vez que se almacene informacion en la tabla de organizaciones,
71-
se elmimina la cache.
70+
Cada vez que se almacene o modifique información en la tabla de organizaciones,
71+
se borra la cache.
7272
"""
7373
key = 'organizations.organization'
7474
cache.delete(key)

ctags-exclude-names.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.static
2+
node_modules

docs/prod.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ Usamos **Redis** para algunos servicios. Sigue estas indicaciones para confirgur
5353
1. Instala [Redis](https://redis.io/download).
5454
2. Ejecuta `run-rq.sh`
5555

56+
Para saber más sobre la configuración y uso de Redis, puedes leer
57+
[./uso-de-redis.md](redis.md)
58+
5659
## Notificaciones
5760

5861
Tenemos una app de Django para enviar notificaciones por email. Para enviar estas notificaciones, es necesario ejecutar el script `run-notices.sh` periódicamente (por ejemplo diariamente) a través de cron.

docs/uso-de-redis.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
## Sobre el servidor de cache
2+
3+
Lo más sencillo sería usar `memcached`, pero en nuestro caso creo que tiene más
4+
sentido usar `redis` porque ya está instalada en producción y el rendimiento
5+
es similar. Eso si, hay que instalar `django-redis`, que ya está en el fichero
6+
`requiremenst.txt`:
7+
8+
9+
### Configurar la cache
10+
11+
Hay que habilitar la configuración, en el fichero `settings.py`, para que
12+
reconozca _Redis_ como caché por defecto. Este sería un ejemplo de configuración:
13+
14+
```python
15+
CACHES = {
16+
"default": {
17+
"BACKEND": "django_redis.cache.RedisCache",
18+
"LOCATION": "redis://127.0.0.1:6379/1",
19+
"OPTIONS": {
20+
"CLIENT_CLASS": "django_redis.client.DefaultClient"
21+
},
22+
"KEY_PREFIX": "web"
23+
}
24+
}
25+
```
26+
27+
El campo `KEY_PREFIX`, si se define, se añade automáticamente a todos las
28+
claves que se almacenan en _Redis_. He puesto `web` para hacer una "espacio de
29+
nombres" para todo lo que sea web.
30+
31+
Si queremos optimizar el uso de la caché, podemos añadir un `signal` a los
32+
modelos para que se borre la caché cada vez que se cambien los datos. Esto lo
33+
usamos para cachear los datos de la organización (Para más detalles ver
34+
`apps\organizations\models.py`).
35+
36+
### Desarrollo local
37+
38+
Para no complicar el desarrollo, se puede indicar en la configuración que use
39+
la memoria local de la máquina a modo de cache. Así no hay que instalar
40+
_Redis_, si no queremos.
41+
42+
```python
43+
CACHES = {
44+
'default': {
45+
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
46+
}
47+
}
48+
```
49+

justfile

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Ejecutar comprobaciones del proyecto Django + Flake8 + Vulture
2+
check:
3+
python manage.py check
4+
flake8 --count **/*.py
5+
vulture .
6+
7+
8+
# Borrar ficheros temporales y espurios
9+
clean:
10+
find . -type f -name "*.pyc" -delete
11+
find . -type d -name "__pycache__" -exec rm -r "{}" \;
12+
find . -type d -name ".sass-cache" -exec rm -r "{}" \;
13+
14+
15+
# Ejecuta las migraciones pendientes"
16+
migrate:
17+
python manage.py migrate
18+
19+
20+
# Ejecutar el servidor en modo producción
21+
run: check static
22+
python manage.py runserver
23+
24+
25+
# Ejecutar el servidor en modo desarrollo
26+
rundev: static
27+
DEBUG=yes python manage.py runserver_plus
28+
29+
30+
# Abre una shell python con el entorno de Django cargado
31+
shell:
32+
python manage.py shell_plus
33+
34+
35+
# Actualiza contenidos estáticos
36+
static:
37+
python manage.py collectstatic --no-input
38+
#sass --sourcemap=none bulma/custom.scss:commons/static/commons/vendor.min.css
39+
#sass --sourcemap=none about/static/about/css/main.scss:about/static/about/custom.min.css
40+
41+
42+
# [Re]crear el fichero ctags
43+
tags:
44+
ctags -R --exclude=@ctags-exclude-names.txt .

0 commit comments

Comments
 (0)