Пример использования сессий в плагинах 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