[pyar] Django - Saber la request "actual"

xavier lesa xavierlesa en gmail.com
Jue Jul 24 23:02:57 ART 2014


Si con esto
https://docs.djangoproject.com/en/dev/ref/signals/#django.core.signals.request_finished

Saludos

El jueves, 10 de julio de 2014, Luis Masuelli <luismasuelli en hotmail.com>
escribió:

> Como hago para saber la request actual bajo la cual estoy ejecutando
> cierto codigo? El tema que me viene a la mente es algo que me cago hace
> tiempo al hacer una aplicacion, y ahora vi que un pibe preguntaba lo mismo (
> http://stackoverflow.com/questions/24661849/using-request-cookies-in-routedatabase-django)
> y yo comente una solucion que me parece algo asquerosa:
>
>     1. Crear un threading.local en mi propio middleware, y cuando proceso
> una request, asignarle (en mi caso) la request que estoy procesando al
> threadlocal.
>     2. Durante la ejecucion del metodo clean() de mi campo personalizado
> (uno que habia hecho que tenia su propio clean() que dependia de la request
> actual), recuperaba la request desde el threadlocal que habia creado.
>     3. Liberaba el threadlocal al terminar la request (en el
> process_response), para el hilo actual.
>
> Esta solucion, cuando yo la concebi, no tenia en cuenta que no todos los
> servidores son threaded (una request implique un hilo). Entonces me
> pregunto: como haria lo mismo para un servidor donde, por ejemplo, una
> request equivale a un GREENLET? (o lo equivalente en el caso de gunicorn).
>
> Mi pregunta entonces va mas abstracta: como puedo saber globalmente cual
> es el objeto request que estoy procesando en la peticion actual, pero
> globalmente? (es decir: alguna funcion utilitaria; asumamos que no puedo
> acceder al parametro request que fue pasado a la vista actual).
>


-- 


Xavier

xavierlesa.com | @xavierlesa <http://twitter.com/xavierlesa>
cel: +011 15 3868-3918
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140724/8ac19953/attachment.html>


More information about the pyar mailing list