У меня есть таблица примерно такая:
class last10msg(models.Model):
user = models.ForeignKey(User)
date = models.DateField()
msg = models.CharField(max_length=254)
Я хочу создать длинный опрос, который обновит таблицу на стороне клиента с последними 10 строками в таблице из базы данных.
сначала это было так:
пользователь отправляет ajax-запрос на последние 10 строк ответа table.server и и js-таблицу обновления кода с изменением или теми же данными. Затем пользователь отправляет другой запрос.
тогда я думаю, что проверить, являются ли данные новыми на сервере (сравнить последнюю дату в запросе с самой поздней датой в таблице, которую пользователь отправил с помощью ajax-запроса), отправить ответ еще бездействующий 1 мин, а затем снова проверить, если новый ответ об отправке еще неактивен 1 миль. ... Затем пользователь отправляет другой запрос.
наконец:
Я думаю, что можно отправить весь запрос в глобальную работающую функцию, и эта функция получит все строки из последней проверки и, если они новые (сравните дату с датой отправки из клиента и request.user с полем пользователя), вернет ответ на связанный вид и отклик представления без тесного соединения (возможно, замените последнюю дату в запросе датой, отправленной пользователем для проверки в сравнении в следующем запросе, не дожидаясь, пока клиент отправит последнюю дату в своей таблице, которая явно совпадает) и будет в списке глобальной функции для следующего пользователя check. while вышел из системы или закройте браузер.
но я действительно не знаю, как это реализовать.
РЕДАКТИРОВАТЬ 1:
Я нашел это HTTP_Push_Module но нет примера для Django и как реализовать глобальную функцию для моей цели
РЕДАКТИРОВАТЬ 2:
Я думаю, что лучше сделать небольшую часть этого вопроса.
вопрос 1:
Как создать что-то вроде этого: ссылка ?
но используйте Django вместо php.
github.com / slact / nginx_http_push_module / BLOB / Master / тесты / test.py
и выше небольшой пример с чистым питоном. (Я не могу понять это)
вопрос 2:
как создать глобальную функцию, которая получает список вошедших в систему пользователей и возвращает последнюю обновленную строку, относящуюся к каждому вошедшему в систему пользователю с длительным опросом.