Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838

Стоит ли выбирать Django под real-time?

26.02.2013, 01:15. Показов 2399. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте форумчане.
Пытаюсь определиться с движком для веб-приложения.
На Python пишу пару лет, но в основном мелкие скрипты автоматизации, решил вот недавно заняться чем-то посерьезнее и как-раз подвернулся мой давнешний проект, написанный на php еще будучи студентом.
Ни один из веб-фреймворков я на данный момент не знаю (имею в виду - на Python), и встал перед выбором - на чем собирать сайт.
По диагонали прочитал пару книжек по Django, слегка погуглил, разобрался в тестовых примерах. Не уверен, что мне подойдет.
По сути это не столько сайт, сколько приложение для постоянной работы, что означает:
- Real-Time. А значит 80% нагрузки - запросы Ajax.
- Все, что можно спихнуть в JS должно быть там. Серверу оставляю - отдачу статики, обслуживание ajax, разруливание прав ну и БД.
- Модель и часть вьюшек уже есть + есть вполне себе работающая версия на голом php, хотя исходники даже смотреть не хочется - не сам бы писал - убил бы.. ^_^, осталось проработать controls и выбрать наконец движок.

Выводы после первого знакомства с Django (другие фреймворки пока не смотрел):
- Про работу с ajax в одной книжке ничего, в другой одна небольшая статейка с примером. В тырнете говорят, что не очень Django с ajax стыкуется (а это основной функционал сайта).
- Не очень понравилась работа с SQL-запросами - даже "SELECT `name` FROM `table` WHERE `id`='{id}'".format(id=my_id) показалось мне удобнее, придется сперва придумывать SQL-запрос, а уже потом переводить его в ООП представление. Ну это дело привычки.
- Админка с первого взгляда показалась не слишком удобной, хотя отдельные элементы я бы из нее себе утащил. Возможно со временем пойму, за что её так хвалят.
- Не нужного мне явно больше, чем нужного - а значит придется пилить самому.. Впрочем это от фреймворка не зависит.
+ Вещь популярная, а значит будет кого спросить, наткнувшись на очередной косяк (на этом форуме даже отдельный подраздел создан)
+ Есть литература, справка, готовые решения.

Посоветуйте - стоит ли продолжать разбираться с Django и начинать переделывать сайт на ней, или лучше пока отложить и присмотреться к другому фреймворку (следующий на очереди - Pyramid, ещё есть парочка на первый взгляд годных. Zopа не понравилась, но совсем уж по верхушкам пробежался..)?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.02.2013, 01:15
Ответы с готовыми решениями:

Real time clock error - Check date and time setting
Всех приветствую! Ноутбук Lenovo b590, после помывки и просушки мат платы, при включении стал выдавать сею картину(на скриншоте). В...

Real time
Добрый день, помогите собрать прогу , есть отдельно взятые рабочие программы , которые выполняют свои функции, нужно собрать их в одну ,...

Real time debugging
Каким образом это можно реализовать в XNA? Что я хочу, так это следующее: при компиляции проекта должно запускаться два окна - игра и окно...

8
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
27.02.2013, 13:01  [ТС]
Урра, вышел Django 1.5, с поддержкой Python3. Можно не возвращаться к 2.7 - Возня с кодировками достала когда-то..

Но так никто и не ответил, стоит ли использовать Django для веб-приложения, заточенного под аякс. Уже голову сломал в попытках выбрать наконец фреймворк..
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
28.02.2013, 02:48
Django, наверное, самый развитый
это так, в инете нашёл
1
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
28.02.2013, 12:44  [ТС]
accept, Большое спасибо, как раз, то, что нужно.

Решил все же остановиться на django, хотя pyramid с первого взгляда больше понравился, но документации меньше.
А значит, теперь я тут частый гость, буду доставать тупыми вопросами ^_^..
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
28.02.2013, 14:37
Цитата Сообщение от sKotenok Посмотреть сообщение
- Про работу с ajax в одной книжке ничего, в другой одна небольшая статейка с примером. В тырнете говорят, что не очень Django с ajax стыкуется (а это основной функционал сайта).
С ajax'ом никаких проблем нет. У самого сайт с ajax работает. Да и к джанго это не относится, в общем, так как, клиентская сторона - сделать запрос и обновить данные. Есть dajax для джанго. Но предпочитаю без него работать. Хотя, с ним все в порядке тоже.
Цитата Сообщение от sKotenok Посмотреть сообщение
- Не очень понравилась работа с SQL-запросами - даже "SELECT `name` FROM `table` WHERE `id`='{id}'".format(id=my_id) показалось мне удобнее, придется сперва придумывать SQL-запрос, а уже потом переводить его в ООП представление. Ну это дело привычки.
Это только дело привычки. Работать с объектами ничуть не тяжелее, чем с SQL. Апи там хороший. Главное, что получится независимым от бэкэнда. К тому же, никто тебе не запрещает делать SQL запросы напрямую.
Цитата Сообщение от sKotenok Посмотреть сообщение
- Админка с первого взгляда показалась не слишком удобной
Хммм...она настраиваема. Модели свои пропиши, как следует для админки. Добавить фнукционал в админку тоже не проблема.

Я б на Django сделал.

Добавлено через 2 минуты
Цитата Сообщение от sKotenok Посмотреть сообщение
Про работу с ajax в одной книжке ничего
Потому что ajax не серверная технология и к django отношения не имеет. А django - серверная. То, что про нее не написано в книжке - это нормально.
1
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
28.02.2013, 16:59  [ТС]
Vourhey, Вообще-то отличия при работе с ajax и "обычной" отдачей с собиранием странички из вьюшек - существенны.
В 1ю очередь - скорость работы. Если в обычном режиме я могу себе позволить достаточно много излишеств и не сильно напрягаться на счет производительности (пока сайт не станет достаточно нагруженным, но тогда можно будет и ресурсов добавить).. То в режиме real-time предполагается, что каждый клиент шлет в среднем 1 запрос в секунду (данные разных клиентов нужно постоянно синхронизировать) и тут уже чем меньше прослойка между БД и выданными данными (в тактах процессора) - тем лучше (при ~100 открытых окнах мой дешевый VPS доходит до точки и начинает подвисать, но это на голом php+apache+куча тормозных решений, которые давно пора на свалку). Будь это off-line проект, я бы с чистой совестью переделал логику на втроенных процедурах, но выставлять БД "голой жопой" в открытую сеть как-то не рискну + таки веб-морда, а не толстый клиент..

Работа с обьектами тяжелее в том плане, что SQL я уже знаю и относительно неплохо. Т.е. когда нужно сделать запрос к БД, я его выдумываю в SQL-нотации, а уже после могу перевести в ООП-представление. Да, независимость от конкретной БД - вещь хорошая, но разные базы данных имеют свои "особенности" и то, что будет быстро работать на мускуле, в каком-нибудь firebird потребует совершенно другого подхода (просто из опыта).
А вот чем ООП-представления хороши, при чем настолько, что я заставил себя разобраться, как это в djago работает - nosql. Если проект не загнется в середине пути, планирую уйти от мускуля на что-то вроде caché или couchdb и тут мне обьектная модель пригодится (перенести будет проще).

Решение остановиться на джанге уже принято, спасибо за ответ.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
28.02.2013, 18:05
Цитата Сообщение от sKotenok Посмотреть сообщение
Vourhey, Вообще-то отличия при работе с ajax и "обычной" отдачей с собиранием странички из вьюшек - существенны.
В 1ю очередь - скорость работы. Если в обычном режиме я могу себе позволить достаточно много излишеств и не сильно напрягаться на счет производительности (пока сайт не станет достаточно нагруженным, но тогда можно будет и ресурсов добавить).. То в режиме real-time предполагается, что каждый клиент шлет в среднем 1 запрос в секунду (данные разных клиентов нужно постоянно синхронизировать) и тут уже чем меньше прослойка между БД и выданными данными (в тактах процессора) - тем лучше (при ~100 открытых окнах мой дешевый VPS доходит до точки и начинает подвисать, но это на голом php+apache+куча тормозных решений, которые давно пора на свалку). Будь это off-line проект, я бы с чистой совестью переделал логику на втроенных процедурах, но выставлять БД "голой жопой" в открытую сеть как-то не рискну + таки веб-морда, а не толстый клиент..
Вопросы производительности к вопросу о работе ajax'а и django отношения не имеют. Это нужно решать для каждого конкретного сайта. Ajax прекрасно работает и не важно, что на сервере крутится а все остальное - специфика.
Цитата Сообщение от sKotenok Посмотреть сообщение
Работа с обьектами тяжелее в том плане, что SQL я уже знаю и относительно неплохо. Т.е. когда нужно сделать запрос к БД, я его выдумываю в SQL-нотации, а уже после могу перевести в ООП-представление. Да, независимость от конкретной БД - вещь хорошая, но разные базы данных имеют свои "особенности" и то, что будет быстро работать на мускуле, в каком-нибудь firebird потребует совершенно другого подхода (просто из опыта).
В Django об этом можно не задумываться. Никто не мешает sql вызывать напрямую, когда очень сильно захочется

Добавлено через 52 секунды
Ну да ладно, все фигня.
1
30 / 20 / 1
Регистрация: 08.09.2012
Сообщений: 77
06.03.2013, 15:15
Цитата Сообщение от sKotenok Посмотреть сообщение
... или лучше пока отложить и присмотреться к другому фреймворку ...
Посмотрите ещё на flask
1
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
08.03.2013, 02:24  [ТС]
Странно, что я его как-то пропустил, пока выбирал. Но уже выбор сделан в пользу Джанги (сравнение как в рекламе росгосстраха, получилось). Уже перенёс часть модели и сижу с темплэйтами играюсь.

Скачал исходники, поглядел. На данный момент для меня - слишком минималистично, по сути это каркас для написания собственного фреймворка. Я бы с радостью, но пока закончу, Python4 наверное выйдет.

В целом - вещь неплохая, вот бы год назад на глаза мне попалась.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.03.2013, 02:24
Помогаю со студенческими работами здесь

QWT real time
На первый взгляд задача реализована, но хотелось бы уйти от цикла с перебором всех QCurveData в методах replotTrend(), replotLastInterval()...

Out of memory in Real-Time
При нажатии на кнопку Connect To Target возникает ошибка: Error occurred while executing External Mode MEX-file 'rtwinext': Not enough...

Real Time Counter
Всем привет! С AVR работаю недавно, по этому есть пару вопросов и советов. Возник вопрос по поводу таймера реального времени, а именно...

Real time на Socket (udp)
Здравствуйте. Не знаю почему, но способ реализации Real time игры всегда остается в "ТАЙНЕ". В гугл поиске, так же как в...

Real-time отладка с ST-Link
Подскажите, давно не занимался STM-ми, а щас потребовалось: имеется ли возможность просматривать хотябы переменные и регистры без остановки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru