Eu tenho um site que mostra conteúdo diferente com base no local escolhido pelo visitante. por exemplo: O usuário entra no 55812 como o zip. Eu sei que cidade e área são lat / long. ou seja, e forneça a eles o conteúdo pertinente a essa área. Minha pergunta é como posso armazená-lo em um cookie para que, quando retornarem, não sejam obrigados a sempre inserir seu CEP?
Eu vejo da seguinte maneira:
- Defina o cookie persistente com base em sua área.
- Quando eles retornarem o cookie de leitura, pegue o CEP.
- Retorne o conteúdo com base no CEP no cookie.
Não consigo encontrar nenhuma informação sólida sobre como definir um cookie. Qualquer ajuda é muito apreciada.
cookie
erendering a template
juntos, vêem esta resposta.Respostas:
ATUALIZAÇÃO : verifique a resposta de Peter abaixo para obter uma solução integrada:
Este é um auxiliar para definir um cookie persistente:
Use o código a seguir antes de enviar uma resposta.
ATUALIZAÇÃO : verifique a resposta de Peter abaixo para obter uma solução integrada:
fonte
O uso da estrutura de sessões do Django deve cobrir a maioria dos cenários, mas o Django agora também fornece métodos de manipulação direta de cookies nos objetos de solicitação e resposta (para que você não precise de uma função auxiliar).
Configurando um cookie:
Recuperando um cookie:
fonte
Você pode definir manualmente o cookie, mas dependendo do seu caso de uso (e se desejar adicionar mais tipos de dados persistentes / de sessão no futuro), pode fazer mais sentido usar o recurso de sessões do Django . Isso permitirá que você obtenha e defina variáveis vinculadas internamente ao cookie de sessão do usuário. O interessante é que, se você deseja armazenar muitos dados vinculados à sessão de um usuário, armazenar tudo em cookies adicionará muito peso às solicitações e respostas HTTP. Com as sessões, o cookie da sessão é tudo o que é enviado para frente e para trás (embora exista uma sobrecarga no final do Django de armazenar os dados da sessão para ter em mente).
fonte
Qualquer pessoa interessada em fazer isso deve ler a documentação das sessões do Django . Ele armazena um ID de sessão nos cookies do usuário, mas mapeia todos os dados semelhantes aos cookies para o seu banco de dados. Isso é uma melhoria no fluxo de trabalho típico baseado em cookies para solicitações HTTP.
Aqui está um exemplo com uma visão do Django ...
Se você continuar visitando a página várias vezes, verá o valor aumentar de 1 até limpar seus cookies, visitar um novo navegador, tornar-se anônimo ou fazer qualquer outra coisa que contornar o cookie de identificação de sessão do Django.
fonte