Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 25, 2010 00:47:14

aliens
От:
Зарегистрирован: 2007-08-14
Сообщения: 135
Репутация: +  1  -
Профиль   Отправить e-mail  

Вывод новых постов для юзеров

Здравствуйте!

Имеется стандартный бложек: посты, юзеры, комментарии. Требуется сделать подсветку новых постов и комментариев с последнего захода пользователя (как на форумах) Как такое реализовать? Мне в голову ничего не приходит, кроме как смотреть на время последнего входа юзера, потом на последние посты, если время поста новее, чем последнего входа, то подсвечивать пост и также с комментариями. Но тут возникает проблема, а как запоминать, что юзер просмотрел этот пост или комментарий?



Офлайн

#2 Фев. 25, 2010 09:07:26

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод новых постов для юзеров

добавь поле еще одно - смотрел/не смотрел
В чем проблема?



Офлайн

#3 Фев. 25, 2010 12:25:43

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Вывод новых постов для юзеров

dissdoc
на самом деле не всё так просто)
если у тебя мало постов, то можешь хранить в кукисах/сессиях ID прочитанные постов
в djangobb я сделал так: http://hg.djangobb.org/djangobb/rev/ddfffe696aa8 (там позже есть исправления коммита)
Суть:
есть таблица с JSON полем где хранятся id, размер ограничен, для этого есть поле last_read типа DateTime, при достижении определённого объёма записей, JSON поле стирается и записи, которые были сделаны позже значения last_read просто игнорируются.
Можешь ещё гялнуть как это сделано с cicero, там есть merge - предусмотрина ситуация блокировки JSON поля, чтоб не было проблем при нескольких одновременных запросах в таблице.

Офлайн

#4 Фев. 25, 2010 12:27:09

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Вывод новых постов для юзеров

А, ещё bitmaps прокатит) почитай http://www.alrond.com/ru/2008/apr/23/save-boolean-condition-in-django-in-bitmask/

Самый простой тупой вариант создавать в таблице Read(user, entry_id, read_time) записи когда был прочитан пост, но это будет тупить на большом количестве юзеров

Офлайн

#5 Фев. 25, 2010 13:44:25

aliens
От:
Зарегистрирован: 2007-08-14
Сообщения: 135
Репутация: +  1  -
Профиль   Отправить e-mail  

Вывод новых постов для юзеров

slav0nic
Вот, спасибо большое, почитаю. Как раз еще собирался смотреть как в форуме твоем сделано :) но решил сначала теорией расжиться



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version