Форум сайта python.su
Здравствуйте!
Имеется стандартный бложек: посты, юзеры, комментарии. Требуется сделать подсветку новых постов и комментариев с последнего захода пользователя (как на форумах) Как такое реализовать? Мне в голову ничего не приходит, кроме как смотреть на время последнего входа юзера, потом на последние посты, если время поста новее, чем последнего входа, то подсвечивать пост и также с комментариями. Но тут возникает проблема, а как запоминать, что юзер просмотрел этот пост или комментарий?
Офлайн
добавь поле еще одно - смотрел/не смотрел
В чем проблема?
Офлайн
dissdoc
на самом деле не всё так просто)
если у тебя мало постов, то можешь хранить в кукисах/сессиях ID прочитанные постов
в djangobb я сделал так: http://hg.djangobb.org/djangobb/rev/ddfffe696aa8 (там позже есть исправления коммита)
Суть:
есть таблица с JSON полем где хранятся id, размер ограничен, для этого есть поле last_read типа DateTime, при достижении определённого объёма записей, JSON поле стирается и записи, которые были сделаны позже значения last_read просто игнорируются.
Можешь ещё гялнуть как это сделано с cicero, там есть merge - предусмотрина ситуация блокировки JSON поля, чтоб не было проблем при нескольких одновременных запросах в таблице.
Офлайн
А, ещё bitmaps прокатит) почитай http://www.alrond.com/ru/2008/apr/23/save-boolean-condition-in-django-in-bitmask/
Самый простой тупой вариант создавать в таблице Read(user, entry_id, read_time) записи когда был прочитан пост, но это будет тупить на большом количестве юзеров
Офлайн
slav0nic
Вот, спасибо большое, почитаю. Как раз еще собирался смотреть как в форуме твоем сделано :) но решил сначала теорией расжиться
Офлайн