Tengo un sitio web que muestra contenido diferente según la ubicación que elija el visitante. Por ejemplo: el usuario ingresa en 55812 como el zip. Sé qué ciudad y área lat / long. es decir y darles su contenido pertinente a esa área. Mi pregunta es ¿cómo puedo almacenar esto en una cookie para que cuando regresen no estén obligados a ingresar siempre su código postal?
Lo veo de la siguiente manera:
- Establecer cookies persistentes en función de su área.
- Cuando vuelvan a leer la cookie, tome el código postal.
- Devolver contenido basado en el código postal en su cookie.
Parece que no puedo encontrar ninguna información sólida sobre la configuración de una cookie. Cualquier ayuda es muy apreciada.
cookie
yrendering a template
juntos, ver esta respuesta.Respuestas:
ACTUALIZACIÓN : verifique la respuesta de Peter a continuación para obtener una solución integrada:
Este es un ayudante para configurar una cookie persistente:
Use el siguiente código antes de enviar una respuesta.
ACTUALIZACIÓN : verifique la respuesta de Peter a continuación para obtener una solución integrada:
fuente
El uso del marco de sesión de Django debería cubrir la mayoría de los escenarios, pero ahora Django también proporciona métodos directos de manipulación de cookies en los objetos de solicitud y respuesta (por lo que no necesita una función auxiliar).
Configurar una cookie:
Recuperando una cookie:
fuente
Puede configurar manualmente la cookie, pero dependiendo de su caso de uso (y si desea agregar más tipos de datos persistentes / de sesión en el futuro) podría tener más sentido usar la función de sesiones de Django . Esto le permitirá obtener y establecer variables vinculadas internamente a la cookie de sesión del usuario. Lo bueno de esto es que si desea almacenar una gran cantidad de datos vinculados a la sesión de un usuario, almacenarlos en cookies agregará mucho peso a las solicitudes y respuestas HTTP. Con las sesiones, la cookie de sesión es todo lo que se envía de un lado a otro (aunque hay que tener en cuenta el hecho de que Django almacena los datos de la sesión para tener en cuenta).
fuente
Cualquier persona interesada en hacer esto debería leer la documentación del marco Django Sessions . Almacena una ID de sesión en las cookies del usuario, pero asigna todos los datos similares a cookies a su base de datos. Esta es una mejora en el flujo de trabajo típico basado en cookies para solicitudes HTTP.
Aquí hay un ejemplo con una vista de Django ...
Si sigue visitando la página una y otra vez, verá que el valor comienza a incrementarse desde 1 hasta que borre sus cookies, visite un nuevo navegador, se encuentre de incógnito o haga cualquier otra cosa que evite la cookie de ID de sesión de Django.
fuente