Pregunta

Documentación, y lo más importante, algunos ejemplos de código serían muy útiles. Preferiría que esto no esté en scripts protegidos, sino en el código que se incluye en los paquetes modernos.

¿Fue útil?

Solución

Utilice el método response.setCookie () . Puede alcanzar el objeto de respuesta a través del objeto de solicitud. Puede acceder a este último mediante adquisición ( self.REQUEST ), o en vistas accediendo al objeto de solicitud pasado, generalmente a través de self.request :

self.request.response.setCookie(name, value, **options)

donde las opciones terminan como parámetros adicionales de cookies. Por lo tanto, convertir una cookie en una cookie que no sea de sesión requiere una palabra clave expires = 'date' , limitar la cookie a una ruta es una palabra clave path = '/ somepath' para el método setCookie () . Las reglas habituales de cookies del navegador se aplican aquí.

Para caducar una cookie ya establecida en el navegador, puede usar una palabra clave expires = 'date in the past' , o puede usar la response.expireCookie () método, que hace esto por usted:

self.request.response.expireCookie(name, **options)

En este caso, aún puede incluir opciones como la ruta u otras marcas de cookies, pero el método anulará las opciones max_age y expires para garantizar que el navegador elimine la cookie.

Aunque podría utilizar el soporte SESSION de Zope, realmente necesita pensar en los problemas de escalabilidad. Por ejemplo, debe pensar cómo se compartirán los datos de la sesión en un clúster si usa ZEO o RelStorage. En general, es preferible evitar el uso de SESSION si la escalabilidad va a ser un problema.

Otros consejos

Para configurar las cookies, utilice RESPONSE.setCookie.

>>> self.REQUEST.RESPONSE.setCookie('cookiename', 'cookievalue', expires='Wed, 22 June 2009 12:00:00 GMT')

La cookie terminará en la SOLICITUD en la próxima solicitud.

>>> self.REQUEST['cookiename']
'cookievalue'

Usted " elimina " la cookie utilizando None como valor.

** Tenga en cuenta, sin embargo, que la mayoría de las veces cuando las personas usan cookies es para almacenar variables que tienen que ver con las sesiones, y puede usar self.REQUEST.SESSION para eso, es más fácil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top