Nick2009
Сен. 24, 2009 18:28:10
Как создать такую переменную? Как во время сеанса изменять ее значение, чтобы оно было доступно другим?
Как объявить в функции, вроде понятно - global v, а где ее создать?
В settings вроде бы сеансовые переменные.
В этих переменных должны храниться результаты запросов к статичным справочникам.
Александр Кошелев
Сен. 24, 2009 19:35:25
Что такое “сеанс”?
Nick2009
Сен. 24, 2009 19:56:10
Daevaorn
Что такое “сеанс”?
Им. в виду место где хранятся сеансовые переменные. Например выбранный язык. Это место мне не подходит, т.к. оно обновляется.
Нужно, чтобы при запросе пользователя эти переменные были уже где-то инициализированы или инициализировались впервые для всех пользователей.
Ferroman
Сен. 24, 2009 20:03:29
А, имеется в виду сессия.
Такие значения лучше вообще в базе хранить.
PooH
Сен. 24, 2009 20:38:30
Ferroman
Такие значения лучше вообще в базе хранить.
Похоже автор топика как раз стремиться избежать запросов к базе. ИМХО тут memcached будет очень уместен.
denz
Сен. 26, 2009 11:52:42
Я для подобного пользую threading.local() наполняя его в раннем middleware - решаю где взять содержимое переменной, и брать ли содержимое вообще.
З.Ы. Для полного persistance - все равно придется дергать БД, главное оптимизировать “когда”, и “сколько раз”.
Nick2009
Сен. 28, 2009 11:53:03
PooH
Ferroman
Такие значения лучше вообще в базе хранить.
Похоже автор топика как раз стремиться избежать запросов к базе. ИМХО тут memcached будет очень уместен.
Да пожалуй, так и сделаю, только на окончательной стадии, после оптимизации кода без кэширования.
Но как memcached массивы данных во вьюхах кэшировать?
Nick2009
Сен. 28, 2009 11:55:25
denz
threading.local() наполняя его в раннем middleware
Это интересно, а можно простой пример посмотреть?
PooH
Сен. 28, 2009 12:40:57
Nick2009
Но как memcached массивы данных во вьюхах кэшировать?
Да хотя бы тупо через pickle
denz
Окт. 1, 2009 19:13:07
Nick2009
denz
threading.local() наполняя его в раннем middleware
Это интересно, а можно простой пример посмотреть?
См. django/util/_threading_local.py, там в начале адекватное описание.