[pyar] Django - Saber la request "actual"

Esteban Castro ecastroborsani en gmail.com
Vie Jul 25 14:18:16 ART 2014


Aca hay una discusion relevante
https://groups.google.com/forum/#!topic/django-users/Y53z-UEu8dM
Creo que lo resuelven de la manera que deberia ser, siempre pasando el
"using" en la vista... el problema al parecer es que hay algun bug en los
ModelForms cuando se hace esto... la discusion es vieja y puede que el bug
ya lo hayan solucionado.


El 25 de julio de 2014, 11:49, Luis Masuelli <luismasuelli en hotmail.com>
escribió:

> Si :D eso lo hace. Eso me sirve para mi proposito y creo que para el del
> pibe. El del signal no se si tanto, porque para eso tendria que poder
> pasarle como parametro la request actual de todas formas, pero con lo del
> Greenlet-local (patch) me banca. De investigar tmb vi que podria usar los
> context locals si instalo el paquete de Werkzeug (que por lo que vi no
> deberia tener problema de usar con django).
>
> ------------------------------
> Date: Fri, 25 Jul 2014 00:38:22 -0300
> From: ecastroborsani en gmail.com
> To: pyar en python.org.ar
> Subject: Re: [pyar] Django - Saber la request "actual"
>
>
> Nunca me tope con la misma situacion, asi que no se cual es la solucion
> correcta. Pero te contesto la pregunta sobre greenlets...
>
> Si usas gevent (en lugar de greenlets directamente), monkey.patch_thread
> [0] convierte los thread locals en greenlets locals [1]... tendrias que ver
> que es lo que hace exactamente esa funcion.
>
> [0] http://www.gevent.org/gevent.monkey.html
> [1] http://www.gevent.org/gevent.local.html
>
>
> El 24 de julio de 2014, 23:02, xavier lesa <xavierlesa en gmail.com>
> escribió:
>
> 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
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
>
>
> _______________________________________________ pyar mailing list
> pyar en python.org.ar http://listas.python.org.ar/listinfo/pyar PyAr -
> Python Argentina - Sitio web: http://www.python.org.ar/ La lista de PyAr
> esta Hosteada en USLA - Usuarios de Software Libre de Argentina -
> http://www.usla.org.ar
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140725/83ab510f/attachment.html>


More information about the pyar mailing list