Найти - Пользователи
Полная версия: Динамическое обновление.
Начало » Django » Динамическое обновление.
1 2 3 4
Farsatanis
Всем привет. Есть написанная на джанге аппликуха ,которая выводит в браузер содержимое определенной директории. В директории лежат текстовые файлы. Соответственно можно их открыть и почитать - в браузере.
Собственно такой вопрос : каким образом сделть чтобы ,при обновлении содержимого файла ,одновременно менялось его содержимое показываемое на страничке. Я понял , что тут надо юзать ajax ,но с какого бока подойти не знаю. Может кто-то что-то подобное делал, и может у кого есть примеры подобных вещей. А то в принципе в теории есть представление как это сделать , но как говорится - это только теория

Если надо будет - код выложу.
inoks
Стучишься каждые N секунд к url, если пришел ответ что есть обновления - запускаешь обновление.
В чем загвоздка?
FishHook
А может быть лучше в веб-сокет по событию save вещать, меньше тупого траффика и дерганья базы?
Farsatanis
Проблема в том ,что я вообще не представляю как это будет выглядеть в коде. Я искал хоть что то похожее , но видать криво ищу. С ajax знаком буквально поверхностно , из-за этого как то не понимаю как это сделать.
FishHook
Аяксом Вы можете запросить что то у сервера. Если Вы не знаете, в какой момент на сервере наступит нужное Вам событие, то придётся периодически, скажем один раз в 5 секунд опрашивать сервер на предмет наступления события. Это нагрузка и на клиента и на сервер, особенно если по вашему запросу должна производиться выборка из БД.
Другое дело если вы установите соединение WebSocket, в этом случае сервер сможе сам сообщать клиентам о наступлении события.
Теперь, Вам надо гуглить.
Farsatanis
Да не , не думаю что WevSocket понадобится - там просто около 10 файлов - текстовых, надо просто чтобы их изменения без рефреша отображались на страничке.
inoks
Стучишься каждые N секунд к url, если пришел ответ что есть обновления - запускаешь обновление.

Как вот это можно сделать? Или может кто может привести подобный пример - ,а то я подобного что то не нашел.
Farsatanis
var getData = function() {
    var xhr = new XMLHttpRequest();
        xhr.open("GET", "/static/file.php", true);
        xhr.onload = function () {
                processData(this.responseText);
            }
            xhr.send();
    }
setInterval(getData, 1000);
document.getElementById('/home/***/file.txt').innerHTML=text_data;

Пытался вот так , но не работает.
Farsatanis
Короче вообще хз как это сделать , помогите ,я вас умоляю
Singularity
Farsatanis
https://github.com/stephenmcd/django-socketio
Farsatanis
Что это? Я если честно хочу избежать сокетов. Пытаюсь пока просто посредством ajax забацать это - но глухо .А с сокетами я еще глыбже зароюсь (
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB