Для использования кода JavaScript на разных языках я обнаружил, что одинарные кавычки постоянно требуют меньше подстройки кода.
Двойные кавычки поддерживают многострочные строки.
Используйте метод response.setCookie ()
. Вы можете получить доступ к объекту ответа через объект запроса. К последнему можно обратиться через получение ( self.REQUEST
) или в представлениях, получив доступ к переданному объекту запроса, обычно через self.request
:
self.request.response.setCookie(name, value, **options)
где options
становятся дополнительными параметрами cookie. Таким образом, для преобразования файла cookie в несессионный файл cookie требуется ключевое слово expires = 'date'
, для ограничения файла cookie путь используется ключевое слово path = '/ somepath'
для метод setCookie ()
. Здесь применяются обычные правила для файлов cookie браузера.
Чтобы истечь срок действия файла cookie, уже установленного в браузере, вы можете использовать ключевое слово expires = 'date in the past'
, или вы можете использовать метод response.expireCookie ()
, который сделает это за вас:
self.request.response.expireCookie(name, **options)
В этом случае вы все равно можете включить такие параметры, как путь
или другие флаги cookie, но этот метод переопределит параметры max_age
и expires
, чтобы файл cookie был удален браузером.
Хотя вы можете использовать поддержку Zope SESSION
, вы действительно нужно продумать вопросы масштабируемости. Например, вам нужно продумать, как данные сеанса будут совместно использоваться в кластере, если вы используете ZEO или RelStorage. Как правило, предпочтительно вообще избегать использования SESSION
, если масштабируемость будет проблемой.
self.request.response.expireCookie(name, **options)
В этом случае вы все равно можете включить такие параметры, как путь
или другие флаги файлов cookie, но этот метод переопределит параметры max_age
и expires
, чтобы гарантировать, что cookie удаляется браузером.
Хотя вы можете использовать поддержку Zope SESSION
, вам действительно нужно подумать над проблемами масштабируемости. Например, вам нужно продумать, как данные сеанса будут совместно использоваться в кластере, если вы используете ZEO или RelStorage. Как правило, предпочтительно вообще избегать использования SESSION
, если масштабируемость будет проблемой.
self.request.response.expireCookie(name, **options)
В этом случае вы все равно можете включить такие параметры, как путь
или другие флаги файлов cookie, но этот метод переопределит параметры max_age
и expires
, чтобы гарантировать, что cookie удаляется браузером.
Хотя вы можете использовать поддержку Zope SESSION
, вам действительно нужно подумать над проблемами масштабируемости. Например, вам нужно продумать, как данные сеанса будут совместно использоваться в кластере, если вы используете ZEO или RelStorage. Как правило, предпочтительно вообще избегать использования SESSION
, если масштабируемость будет проблемой.
Хотя вы можете использовать поддержку Zope SESSION
, вам действительно нужно продумать проблемы масштабируемости. Например, вам нужно продумать, как данные сеанса будут совместно использоваться в кластере, если вы используете ZEO или RelStorage. Как правило, предпочтительно вообще избегать использования SESSION
, если масштабируемость будет проблемой.
Хотя вы можете использовать поддержку Zope SESSION
, вам действительно нужно продумать проблемы масштабируемости. Например, вам нужно продумать, как данные сеанса будут совместно использоваться в кластере, если вы используете ZEO или RelStorage. Как правило, предпочтительно вообще избегать использования SESSION
, если масштабируемость будет проблемой.
Для установки файлов cookie вы используете RESPONSE.setCookie.
>>> self.REQUEST.RESPONSE.setCookie('cookiename', 'cookievalue', expires='Wed, 22 June 2009 12:00:00 GMT')
Файл cookie будет помещен в ЗАПРОС следующего запроса.
>>> self.REQUEST['cookiename']
'cookievalue'
Вы "удалите" "cookie, используя None
в качестве значения.
** Обратите внимание, что в большинстве случаев, когда люди используют файлы cookie, они хранят переменные, которые имеют отношение к сеансам, и вы можете использовать self .REQUEST.SESSION для этого проще.