После девяти месяцев разработки вышла (https://www.djangoproject.com/weblog/2016/aug/01/django-110-.../) стабильная версия web-фреймворка Django 1.10 (https://docs.djangoproject.com/en/1.10/releases/1.10/), написанного на языке Python и предназначенного для разработки веб-приложений. Ветка Django 1.10 будет поддерживаться до декабря 2017 года. LTS-ветка Django 1.8 будет поддерживаться до апреля 2018 года.Ключевые улучшения (https://docs.djangoproject.com/en/1.10/releases/1.10/):
- Официальная поддержки символов Unicode в именах пользователей (ранее в именах поддерживались только символы ASCII);
- Реализация полнотекстового поиска для конфигураций с СУБД PostgreSQL;
- Новый фреймворк Middleware (https://docs.djangoproject.com/en/1.10/topics/http/middleware/) для встраивания обработчиков на различные стадии обработки запросов и ответов. Обработчики выступают в роли легковесных плагинов, которые могут менять формируемый в Django вывод и поступающие входные данные.
URL: https://www.djangoproject.com/weblog/2016/aug/01/django-110-.../
Новость: http://www.opennet.me/opennews/art.shtml?num=44893
> The username validator now explicitly accepts Unicode letters by defaultОх и натерпятся же они уязвимостей из-за unicode в логинах.
Ввёл пару некорректных последовательностей и положил сервер :)
А можно пример? Или хотя бы куда гуглить? Мне совсем не понятно, как такое может произойти
Отличная новость! Лучший фреймворк.
если ничего другое не смотреть, то да.....
ага, монолитный
Думал что лучший это ROR
-> Новый фреймворк Middleware для встраивания обработчиков на различные стадии обработки запросов и ответовДа ладно! Уже сто лет как используем миддлвару. В новость-то?
они его переписали, сейчас всё стало по-другому.
как то мало улучшений по сравнению с rails 5.
> как то мало улучшений по сравнению с rails 5.Так это обычный штатный релиз ( только lts ). Модель разработки разная. Пускай число 10 не пугает )
очень уж выбешивает работа с шаблонами там. ребята слепо делают вид, что модель и бизнес-логика не связаны с отображением и должны быть жестко разделены. в итоге чтоб отобразить простую формочку и поменять в ней классы некоторых элементов или поменять расположение элементов - есть только 2 выхода: правильный и долгий - переписать шаблон формы, "неправильный" - установить пакет типа widget_tweaks и менять напрямую в html-шаблоне.
ну а rest-api писать на джанге вообще одна боль. нужно писать дебильные сериализаторы, вьюхи, permission_classes в питон-коде вместо того, чтоб использовать какое-то json-подобное описание моделей и на его основе в рантайме генерить весь тот типичный хлам.
сбежал на loopback.js и не жалею.
Что долгого в переписывании шаблона формы?
да ничего собственно. кроме того, что при этом теряется смысл использования джанги. т.к. приходится делать такие тривиальные вещи вручную, а шаблон в котором нужно только добавить пару классов или placeholder-ы у input-ов тупо разбухает.не, конечно, можно передать атрибуты как параметры полей при создании формы. но это полная клиника - размазывать html и css еще и по питоновскому коду.
> добавить пару классов или placeholder-ы у input-овНе хочу тебя сильно расстраивать, но это делается элементарно.
>> добавить пару классов или placeholder-ы у input-ов
> Не хочу тебя сильно расстраивать, но это делается элементарно.я тоже знаю как сделать это элементарно. в питон-классе формы при создании формы, либо в самом шаблоне с widget_tweaks. оба метода одинаково убоги. в 1 - размазали html и css по питон-коду, во 2 - нормально не поддерживается динамика из-за джанговских фильтров.
Всем не угодишь. Там и логики через чур много в шаблонах выходит, если что.Есть задача - есть решение. За академичное 100% следование концепциям MVC может по головке и погладят, но вот премий и бонусов никто не выпишет.
Темплейт теги - это вообще получается надругательство над идеей MVC.
> Темплейт теги - это вообще получается надругательство над идеей MVC.почему? теги - для отображения контента. зачем заниматься формированием "вида" контента на стороне питон-кода, когда это должно быть в шаблонах с помощью фильтров/тегов. это как раз в джанге надругиваются над MVC тем, что "вид" контента нужно править и в питон-коде и в шаблоне (widget_tweaks тут как раз следуют mvc).
но вообще это пустой спор=) я приверженец mvvm=)
Кому что. Я вот вообще не хочу иметь дело с js. Мне проще генерить python код, а гонять потом данные разом в фронтенд. Кому что. Js фреймворков и так сейчас много. У django своя аудитория.
> Кому что. Я вот вообще не хочу иметь дело с js. Мне
> проще генерить python код, а гонять потом данные разом в фронтенд.
> Кому что. Js фреймворков и так сейчас много. У django своя
> аудитория.стала у меня как-то задача сделать rest-api для fhir-сервера. а там более 100 моделей с несколькими уровнями вложенности(в которых по 10-20 полей). тут-то я и понял - джанга написана для тех, кому не лень писать горы кода. 1 файл для 1 модельки, 1 файл сериализатора для 1 модельки, 1 файл вьюшечки для 1 модельки и общий файл роутера, опускаю за скобки классы с permissions. умножаем на >100 и получаем чуть более чем кучу кода.
в общем закончилось тем, что питоновский код моделей генерился на основе спек статически, а сериализаторы, вьюхи, роутеры я генерил в рантайме при первом запуске приложения.и вишенка на торте: в 2016 году в команде джанги не знают про адаптивную верстку=) в итоге админка то вроде есть, но вот пользоваться ей на мобилках и планшетах - низзя. правда, 1.10 не проверял, может уже исправили.
Насчет Django админки: разработчики знают, что такое адаптивная верстка, конечно же. Только чтобы переписать админку, которой больше 10 лет, нужны средства на найм штатных программистов. Об этом писал Аллан Каплан Мосс в своем блоге. И никто вас не заставляет пользоваться штатной админкой - есть сторонние админки.И речь скорее идедет о "красоте" админки. Админить огромный сайт с мобильного экрана через Firefox -- вы как такое представляете??? Лучше уж создайте тогда отдельный mobile application
> Насчет Django админки: разработчики знают, что такое адаптивная верстка, конечно же. Только
> чтобы переписать админку, которой больше 10 лет, нужны средства на найм
> штатных программистов. Об этом писал Аллан Каплан Мосс в своем блоге.
> И никто вас не заставляет пользоваться штатной админкой - есть сторонние
> админки.
> И речь скорее идедет о "красоте" админки. Админить огромный сайт с мобильного
> экрана через Firefox -- вы как такое представляете??? Лучше уж создайте
> тогда отдельный mobile applicationпробовал все сторонние до которых дотянулись руки. все одинаково кривые.
>Админить огромный сайт с мобильного экрана через Firefox -- вы как такое представляете???честно говоря, не очень представляю=) но люди просят чтоб админка открывалась и на мобилке нормально. и я точно знаю, что многие админят с телефонов. естественно приходится писать свою "мини"-админку, а джанговскую даже не включать.
> Насчет Django админки: разработчики знают, что такое адаптивная верстка, конечно же. Только
> чтобы переписать админку, которой больше 10 лет, нужны средства на найм
> штатных программистов. Об этом писал Аллан Каплан Мосс в своем блоге.
> И никто вас не заставляет пользоваться штатной админкой - есть сторонние
> админки.
> И речь скорее идедет о "красоте" админки. Админить огромный сайт с мобильного
> экрана через Firefox -- вы как такое представляете??? Лучше уж создайте
> тогда отдельный mobile applicationа не проще ли забросить это (django вместе с бедоном) и юзать Rails или Spring?
>> Насчет Django админки: разработчики знают, что такое адаптивная верстка, конечно же. Только
>> чтобы переписать админку, которой больше 10 лет, нужны средства на найм
>> штатных программистов. Об этом писал Аллан Каплан Мосс в своем блоге.
>> И никто вас не заставляет пользоваться штатной админкой - есть сторонние
>> админки.
>> И речь скорее идедет о "красоте" админки. Админить огромный сайт с мобильного
>> экрана через Firefox -- вы как такое представляете??? Лучше уж создайте
>> тогда отдельный mobile application
> а не проще ли забросить это (django вместе с бедоном) и юзать
> Rails или Spring?проще. забросил в пользу loopback.js.
>> а не проще ли забросить это (django вместе с бедоном) и юзать Rails или Spring?
> проще. забросил в пользу loopback.js.Всё уже было! И было и есть и будет! И всё - есть суета, и суета сует. (С) Экли... был такой хипстер :)
Когда выходила джанга или рельсы там какие - толпы хомячков типа тебя считали главной задачей своей жизни довести до всех, на всех *** форумах, о том что новая пер***лка - гораздо сис**ястее предЫдущих ... через год или два и они тихо гнили в болоте рутины :-\
Просто сейчас черёд нодовцев. Ещё на год-другой как минимум. :)
>>> а не проще ли забросить это (django вместе с бедоном) и юзать Rails или Spring?
>> проще. забросил в пользу loopback.js.
> Всё уже было! И было и есть и будет! И всё -
> есть суета, и суета сует. (С) Экли... был такой хипстер :)
> Когда выходила джанга или рельсы там какие - толпы хомячков типа тебя
> считали главной задачей своей жизни довести до всех, на всех ***
> форумах, о том что новая пер***лка - гораздо сис**ястее предЫдущих ...
> через год или два и они тихо гнили в болоте рутины
> :-\
> Просто сейчас черёд нодовцев. Ещё на год-другой как минимум. :)пф. у меня нет розовых очков по-поводу нода(по-поводу джанги тоже не было. все те проблемы которые перечислил были и в 11 году когда садился с ним разбираться. да вот за 5 лет в джанго-команде никто так и не почесался как-то упростить жизнь пользователям).
просто из 2 зол выбираю то, что меньше вымораживает и заставляет меньше писать кода.
>а не проще ли забросить это (django вместе с бедоном) и юзать Rails или Spring?И что изменится? Там своё гов^W прегкрасдное есть :) А щассьтя - нет.
Так что бери инструмент и точи под себя.
Ваш Кэп. :)
>стала у меня как-то задача сделать rest-api для fhir-сервера.Знакомые буквосочетания :)
Если ты об этом:
https://www.hl7.org/fhir/http.htmlТо тут жуниору работы на недельку, Ыгсперд :)
>>стала у меня как-то задача сделать rest-api для fhir-сервера.
> Знакомые буквосочетания :)
> Если ты об этом:
> https://www.hl7.org/fhir/http.html
> То тут жуниору работы на недельку, Ыгсперд :)хах=) нуда-нуда=) а что ж тогда нет ни одного нормального открытого сервера?=) тот же hapi на джаве пилит не джуниор и не за недельку, а уже хз сколько, да только конца и края этому не видно.
я б посмотрел, как такой эксперт как ты наваял сервер с json/xml поддержкой и кучей операций, при учете того, что эти деятели из фхира плодят постоянно несовместимые меж собой версии=)
и лучше смотреть по этой ссылочке https://www.hl7.org/fhir/resourcelist.html да тыкать в каждый ресурсик, а не ту простую ссылку что кинул ты=)
>а что ж тогда нет ни одного нормального открытого сервера?=)Потому что ты бла-бла-бла-шник, уж извини :\ Нормальный и открытый и был ровно один. А WTF "был"? А вот:
Эта бнопня пилится на гранты, и они потихоньку заворачивали гайки, чтоб убрать варягов и бабло оставалось в доме. Последняя фишка - даже если ты и напишешь имплементацию, теперь этого мало. Надо йур лицо и сертификацию на весь бандл ISO9*** ... А это уже бабки не уровня "собрались как то 3 проггера и запилили" ...
Универ предсказуемо спрыгнул (ещё бы - смотри кто в спонсорах), оставшиеся коммерсы предсказуемо остались :(
А какова его ниша? Т.е. в каких случаях предпочтительнее использовать именно Python+Django? Ну вот PHP+WordPress например хорош для блогов или сайтов-визиток, Node.js подойдёт для веб-чатов и игровых серверов. А Python+Django где рулит?
>>PHP+WordPress например хорош для блогов или сайтов-визитокphp в 2016 году? Смешно. Wordpress уже давно превратился в монстра, который ни на что не годится. Да и php опять же. В топку это давно пора.
>>Node.js подойдёт для веб-чатов и игровых серверов
Нода для всего подойдёт. Для сайтов визиток и блогов - тоже. Что угодно можно на ней делать.
>>Python+Django где рулит
Тоже самое. Чего угодно можно пилить на Django.
Что не так с php? Только потому, что Google так сказал?
Wordpress - атомный звиздец, да. Но не потому, что php.
Именно потому.Что не так с похапе - обсуждалось неоднократно. Невменяемая архитектура, убогий язык, вебмакаки как ЦА и основная масса кодеров.
> А какова его ниша? Т.е. в каких случаях предпочтительнее использовать именно Python+Django?
> Ну вот PHP+WordPress например хорош для блогов или сайтов-визиток, Node.js подойдёт
> для веб-чатов и игровых серверов. А Python+Django где рулит?Что-то специфичное, легкое. Старперы в основном юзают
Нуууу не знаю. Наши юзают в одном из проектов для прямо противоположного - для навороченного воркфлоу, тяжёлого, многоступенчатого и противного :(
Почему? А ХЗ. Так пошло. Пытались на чего другое соскочить, но не вышло. Теперь у нас сииильно заточенная под нас джанга ... и убейте меня, но девы - довольны 8-о
Пока пытался его освоить в своё время, успевала выходить новая версия, которая ломала старый код. То они файлы конфигов по папкам переносили, то ещё что-то и так каждый раз. Отбило всю мотивацию его осваивать.
> Пока пытался его освоить в своё время, успевала выходить новая версия, которая
> ломала старый код. То они файлы конфигов по папкам переносили, то
> ещё что-то и так каждый раз. Отбило всю мотивацию его осваивать.Использовать LTS версии нужно, а не dev. Для Джанги LTS сейчас 1.8. Все книги и ресурсы на ней
Там туториал дай бог на 5-7 минут.
> Там туториал дай бог на 5-7 минут.Прочитай сообщение, на которое отвечаешь. Как "туториал на 5-7 минут" связан с "освоить"?
>Пока пытался его освоить в своё время, успевала выходить новая версия,Бро - ты тормоз :)
джанга по кайфу
> Официальная поддержка символов Unicode...Подходило к концу второе десятилетие 21-го века, а люди всё допиливают и допиливают поддержку Unicode... Эх, когда же она станет чем-то повсеместно само-собой-разумеющимся, наконец...
Так а channels попали в релиз или нет?
LoopBack.js - обычный REST API, есть решения удобнее на PHP и на Ruby. Зато всех обо..ли, мой лучший, модный.Сфера применения Django - точно такая же как у большинства взрослых фреймворков. В основном корпоративный сектор, сайты организаций, каталоги.
Wordpress - ничто без плагинов. Если задача решается ими, есть нужный дизайн, сделаем за пару часов под пиво, зачем там Django нужно подумать (например стоит вопрос безопасности в ущерб времени)
PHP, JAVA - отличные языки, в чем-то лучше питона, в чем-то хуже. Зависит от фреймворка, способа использования, главное текущих наработок.
Крутой Rails 5 - мы бизнес делаем или новинки изучаем? Если задача стоит с REST, оповещения то можно его, но если такой задачи нет, зачем? GEM бывают разные хорошие и не очень, один уже не работает второй еще не сделали. На рельсах последнее время больше админки стали писать. Там другая проблема намечается, модные фреймворки появились, опять народ делят.
В python - django и flask. Чем меньше разнообразие тем лучше, больше тех кто знает их.