Форум сайта python.su
FarsatanisДорогой друг,
Что это? Я если честно хочу избужать сокетов. Пытаюсь пока просто посредством ajax забацать это - но глухо .А с сокетами я еще глыбже зароюсь (
"/static/file.php"
Офлайн
Я в php разбираюсь как свинья в апельсинах. Прост ону где нашел какой нибудь пример , пытаюсь его переделать под себя. В основном во всех примерах ajax используется php в url. Я точно чего то не понимаю.
FishHook , не ругайся Я очень крабский нуб. Но разобратсья охота. А сделать то что я делаю еще сильнее хочется , но уже неделю словно башкой о стенку бьюсь. И весьма вероятно что мозгов не осталось.
Отредактировано Farsatanis (Авг. 12, 2013 14:14:42)
Офлайн
View.py:
# Create your views here. import os from django.shortcuts import render from django.shortcuts import render_to_response log_dir = '/home/***/log' def list_files(request): file_list = [f for f in os.listdir(log_dir) if os.path.isfile(os.path.join(log_dir, f))] return render_to_response('list_files.html', {'file_list':file_list}) def view_log(request, filename): logfile = open(os.path.join(log_dir, filename), 'r') loglines = logfile.read() return render_to_response('view_logfile.html', {'loglines': loglines, 'filename': filename})
from django.conf.urls import patterns, url from polls import views urlpatterns = patterns('', url(r'^$', views.list_files, name='list_files'), url(r'^(?P<filename>.*?)/$', views.view_log, name='view_log'), )
<!DOCTYPE HTML> <html> <head> <title>View file</title> </head> <body> <script src="/static/jquery.js" type="text/javascript"></script> <pre style ="background:beige;text-align:center;font-size:20px">{{loglines}}</pre> </body> </html>
Отредактировано Farsatanis (Авг. 12, 2013 14:19:29)
Офлайн
Начнем с того, как клиент должен узнать о том, что файл изменился?
Каким образом к нему должна поступить сия информация?
Есть два способа получить информацию:
1. Запросить её у источника информации
2. Источник информации сам её тебе сообщает без запроса.
Тебя какой случай интересует?
Офлайн
Честно , я об этом даже не задумывался. Пускай будет 1.
Офлайн
FarsatanisЯ тебе на первой странице рассказал, в чем разница между аяксом и веб-сокетами.
Честно , я об этом даже не задумывался. Пускай будет 1.
Пускай будет 1Ну пускай.
Офлайн
Я больше склоняюсь к первому. Я даже пытался его сделать, но как то безуспешно.
Офлайн
Ок, теперь вопрос, а какая собственно информация должна уходить к серверу и какая приходить в ответ?
Ну, однозначно, название файла (его айди, url, что-то еще, не важно) и, наверное, время последнего обновления. Сервер, должен найти файл по названию (айди и тп.) и сравнить время последнего изменения со временем, которое пришло от клиента. Если оно больше, то сервер должен отправить на клиента…. Что? Весь файл? Или только обновленный кусок? А если кусков несколько? Позицию начала и конца изменения?
А может быть заюзать какой-нибуть CVS?
http://ru.wikipedia.org/wiki/CVS и не изобретать велосипед?
Отредактировано FishHook (Авг. 12, 2013 14:56:39)
Офлайн
Ну можно заюзать я правда так даже не думал делать
Но у меня эти фалы которые открываются - это просто логи.
Отредактировано Farsatanis (Авг. 12, 2013 17:27:20)
Офлайн
Вот тебе домашнее задание:
1) сделай урл /check_state который вернет json
{is_updated: true} если были изменения файлов
или
{is_updated: false} если их не было
Офлайн