Пример использования сессий в плагинах Django CMS
8 мая 2016 г. 4:30
Доступ к использованию сессий в Django прост:
request.session['a'] = 5 request.session['is_visit'] = True request.session['a'] # = 5
Можно использовать во вьюхах, фильтрах и т. д. Главное, чтобы код, где используются сессии, не кэшировался. И следите за пространством имён, чтобы случайно не затереть значения ключей при использовании сессий в разных участках кода.
Ниже небольшой пример использования сессий в плагинах Django CMS. Плагин определяет, первый раз ли человек пришёл на сайт или нет.
# -*- coding: utf-8 -*-
from cms.plugin_pool import plugin_pool
from cms.plugin_base import CMSPluginBase
class MenuLogicPlugin(CMSPluginBase):
name = 'Menu'
render_template = 'spec/menu.html'
cache = False # важно отключить кэш!
def render(self, context, instance, placeholder):
context['instance'] = instance
context['placeholder'] = placeholder
if 'is_first_visit' in context['request'].session:
context['is_first_visit'] = context['request'].session['is_first_visit']
else:
context['is_first_visit'] = False
context['request'].session['is_first_visit'] = False
return context
plugin_pool.register_plugin(MenuLogicPlugin)
Похожие статьи:
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0