Estoy buscando una manera simple pero recomendada en Django para almacenar una variable en memoria solamente. Cuando Apache se reinicia o el servidor de desarrollo Django se reinicia, la variable vuelve a cero. Más específicamente, quiero contar cuántas veces tiene lugar una acción en particular en cada instancia del modelo (registro de la base de datos), pero por motivos de rendimiento, no lo hago. Quiero almacenar estos conteos en la base de datos. No me importa si los recuentos desaparecen después de reiniciar el servidor. Pero mientras el servidor esté activo, quiero que estos recuentos sean consistentes entre el shell de Django y la interfaz web, y deseo poder devolver cuántas veces se ha realizado la acción en cada instancia del modelo.Python Django Global Variables
No deseo que las variables se asocien con un usuario o sesión porque podría querer devolver estos conteos sin haber iniciado sesión (y quiero que los recuentos sean consistentes sin importar qué usuario haya iniciado sesión). ¿Estoy describiendo una variable global? Si es así, ¿cómo uso uno en Django? Me he dado cuenta de que los archivos como urls.py, settings.py y models.py parecen procesarse solo una vez por cada inicio del servidor (por contraste con views.py que parece procesarse cada vez que se realiza una solicitud). ¿Esto significa que debo declarar mis variables en uno de esos archivos? ¿O debería almacenarlo en un atributo de modelo de alguna manera (siempre que permanezca mientras el servidor esté funcionando)? Esta es probablemente una pregunta fácil, pero no estoy seguro de cómo se hace en Django.
Cualquier comentario o consejo es muy apreciado. Gracias, Joe
Los documentos de almacenamiento en caché están un poco "en memoria caché por página". Vaya a "bajo nivel" para obtener detalles sobre cómo usarlo para las variables del servidor: https://docs.djangoproject.com/en/1.3/topics/cache/#the-low-level-cache-api –
Esto podría ayudarlo: [https://github.com/andres-torres-marroquin/django-system-globals](https://github.com/andres-torres-marroquin/django-system-globals) –