1) Является ли хорошей практикой интенсивное использование сессий в приложении Django?
Я думаю, вам следует переформулировать свой вопрос, чтобы рассмотреть вопрос о том, подходит ли сама природа сессийза то, что вы пытаетесь достичь.Поймите как сеансы работают в Django.Идентификатор сеанса хранится в cookie, поэтому в основном время жизни и поведение сеанса напрямую зависят от характера файлов cookie.
Помните о себе как о пользователе, который не понимает, когдаи как (или даже если) куки используются.Если вы в конечном итоге говорите: «Мне все равно, если система не запомнит меня по какой-то абстрактной технической причине (например, закрытие моего браузера, сброс настроек вручную путем очистки истории моего браузера и случайного удаления файлов cookie и т. Д.)».тогда сессия может быть хорошей отправной точкой.
ИМХО, Django упрощает хранение вопросов в базе данных, так что я обычно хожу на создание учетной записи и использование базы данных, не задавая себе вопроса.
2) Поскольку все это приложение основано на сеансах, ... Как я могу запретить вкладкам видеть друг друга?
Тогда вам не следует использовать сеансы Django, потому что они основанына печенье, которые являются реальным виновником этого поведения.Поскольку это вопрос типа викторины, я предполагаю, что у вас есть как минимум 1 форма на каждой странице.Сгенерируйте какой-нибудь собственный идентификатор сеанса и сохраните его в скрытом поле формы.Вы также можете сохранить его в строке запроса, но это не совсем "Django-ish".