У меня есть веб-сайт, на котором отображается различное содержание в зависимости от местоположения, которое выбирает посетитель. например: Пользователь вводит 55812 как zip. Я знаю, какой город и район шир / долг. то есть и дать им их содержание, относящееся к этой области. У меня вопрос, как я могу сохранить это в файле cookie, чтобы по возвращении им не требовалось всегда вводить свой почтовый индекс?
Я вижу это следующим образом:
- Установите постоянные файлы cookie в зависимости от их области.
- Когда они вернут прочитанный cookie, возьмите почтовый индекс.
- Возвращать контент на основе почтового индекса в их cookie.
Кажется, я не могу найти какой-либо достоверной информации о настройке cookie. Любая помощь приветствуется.
cookie
иrendering a template
вместе, смотрите этот ответ.Ответы:
ОБНОВЛЕНИЕ : проверьте ответ Питера ниже для встроенного решения:
Это помощник для установки постоянного файла cookie:
Используйте следующий код перед отправкой ответа.
ОБНОВЛЕНИЕ : проверьте ответ Питера ниже для встроенного решения:
источник
Использование структуры сеанса Django должно охватывать большинство сценариев, но Django теперь также предоставляет методы прямого управления файлами cookie для объектов запроса и ответа (так что вам не нужна вспомогательная функция).
Установка cookie:
Получение cookie:
источник
Вы можете вручную установить файл cookie, но в зависимости от вашего варианта использования (и если вы, возможно, захотите добавить больше типов постоянных данных / данных сеанса в будущем), возможно, имеет смысл использовать функцию сеансов Django . Это позволит вам получать и устанавливать переменные, связанные внутренне с файлом cookie сеанса пользователя. Интересно то, что если вы хотите хранить много данных, привязанных к сеансу пользователя, сохранение их в файлах cookie значительно повысит вес HTTP-запросов и ответов. В сеансах cookie сеанса - это все, что отправляется туда и обратно (хотя на стороне Django есть накладные расходы, связанные с хранением данных сеанса).
источник
Всем, кто заинтересован в этом, следует прочитать документацию сеансов Django. . Он хранит идентификатор сеанса в файлах cookie пользователя, но сопоставляет все данные, подобные файлам cookie, в вашей базе данных. Это улучшение типичного рабочего процесса на основе файлов cookie для HTTP-запросов.
Вот пример с представлением Django ...
Если вы продолжаете посещать страницу снова и снова, вы увидите, что значение начинает увеличиваться с 1 до тех пор, пока вы не очистите свои файлы cookie, не зайдете в новый браузер, не перейдете в режим инкогнито или не сделаете что-нибудь еще, что позволяет избежать cookie-файла идентификатора сеанса Django.
источник