Закрыть

Для эффективной работы на сайте используются cookie и обработка персональных данных. Пользуясь этим сайтом, вы соглашаетесь с правилами использования сайта. Подробнее

Цитата дня

Vivazzi.ru

Личный сайт Мальцева Артема

Вы счастливы или несчастны не благодаря тому, что вы имеете, и не в связи с тем, кем являетесь, где находитесь или что делаете; ваше состояние определяется тем, что вы обо всем этом думаете.

Дейл Карнеги

Пример использования сессий в плагинах Django CMS

8 мая 2016 г. 0: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 из 5 (всего 0 оценок)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

Автор статьи

Права на использование данной статьи, расположенной на настоящей странице http://vivazzi.ru/it/session-usage/:

Разрешается копировать статью с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.ru/it/session-usage/">http://vivazzi.ru/it/session-usage/</a>

Подробнее: Правила использования сайта

Вам нужно саморазвиваться или вы хотите зарабатывать деньги?

Или вы ищите хорошие IT сервисы или книги? Сохраните свое время и взгляните на мою подборку рекомендаций, которыми постоянно пользуюсь.
Посмотреть рекомендации

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь. Но, зарегистрировавшись, вы сможете получать оповещения об ответах, а также иметь доступ к своему личному аккаунту для просмотра своих комментариев.

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте