Как реализовать сохранение данных о пользователе после разлогинивания в Django?
Добрый день!
Пишу учебный проект на Django. Хотел ограничить авторизованных пользователей одним комментом на статью.
Комменты открыл только авторизованным пользователям. Далее через сессию сделал возможным добавить только 1 коммент на статью - отлично работает. Разлогинился зашел заново - сессия обновилась, все ограничения по комментам тоже обнулились, что меня порядком расстроило.
Я полагал, что эти данные хранятся на сервере и связаны с пользователем и потому при повторной авторизации подтягиваются к нему. Почитал про сессии и cookie инфу - это для меня малоизвестные понятия. И вроде бы потеря истории в моем случае норма. Но хочу таки уточнить:
1. Действительно ли мою задачу (не более 1 коммента от пользователя на статью) не решить с помощью сессий?
2. Как реализовать полноценное закрепление некоей инфы (комментов или товаров в корзине) за логином пользователя независимо от его разлогиниваний и используемых устройств? Через дополнительное поле у пользователя, где, например, id товаров, добавленных в корзину, хранятся в списке?
А в чём проблема при создании комментария просто проверять нет ли уже комментария от этого пользователя для этой статьи? Или поставить на модель комментария ограничение по совместной уникальности автора и статьи?
Сергей Горностаев, Вопрос в том, каким образом хранить список статей, которые заккоментил пользователь? Логика проверки мне понятна - я её реализовал в рамках сессии. Но сессии удаляются, как только пользователь разлогинится и при последующей его авторизации - все ограничения по комментам слетают.
Сергей Горностаев, Спасибо, даже не подумал об этом. Зациклился на том, что нужно было в проекте показать именно работу с сессиями. Сделал как вы предложили - работает идеально.