Карьера
GeekBrains _
6385

Джанго освобождённый: как популярный Python-фреймворк экономит время и приносит доход

Колонка от образовательного портала GeekBrains, автора курса "Веб-разработчик Python (Django)".

В закладки

Подобно герою известной киноленты, веб-фреймворк Django — невероятно ловкий и мощный инструмент для достижения цели. Это не парень из вселенной Marvel, который помогает всем подряд, совершая минимум действий: его благосклонность надо заслужить. Иначе говоря, успеха добьётся лишь тот, кто готов немного пострадать и набить шишек во время обучения.

Однако, это не отталкивает пользователей, а напротив привлекает их всё больше. Почему? Давайте разбираться.

Язык Python

Python имеет невероятно простой синтаксис, минимум служебных символов и очень понятные конструкции программ. Всё это делает его одним из наиболее часто рекомендуемых языков в качестве первого.

Кроме того, в отличие от PHP, Python является универсальным языком, чьи возможности распространяются далеко за пределы веба. Вы всегда можете добавить в своё приложение немного математики, статистики, графики и даже ИИ — всего этого лишены популярные языки веба.

Скорость разработки

Да, возможно на первых этапах обучения вам придётся действительно тяжело. Даже на освоение базовых возможностей Django уйдёт несколько десятков часов. Однако, после стартовых трудов вы понемногу начнёте понимать, насколько сильно упрощает использование Django создание типовых элементов веб-страницы: списков, карты сайта, аутентификации пользователя и многого другого. Получив необходимые навыки, у вас не составит труда заменить некогда огромные блоки кода всего несколькими строками.

Доступность

Django — open-source проект со всеми вытекающими преимуществами. Это означает, что этот фреймворк удобно использовать в стартапах и небольших компаниях — там, где первостепенное значение имеет скорость реализации идеи и её стоимость. И конечно, open-source проект — очевидный выбор для новичка, которому не хочется тренироваться на усечённых версиях коммерческих продуктов вместо того, чтобы сразу взяться за готовый инструмент заработка.

Сообщество и литература

Django является одним из самых популярных веб-фреймворков: только запущенных сайтов, разработанных на нём, в сети почти 65 тысяч. Разумеется, такая популярность означает огромное количество сообществ, где может получить помощь новичок и уже работающий программист.

Кроме того, у Django очень крутая прилагаемая литература. Достаточно подробно описана теория, имеются «обучалки», примеры, техническая информация — в общем всё, что может понадобится страждущему.

Масштабируемость

Django, благодаря встроенным инструментам, прекрасно справляется с задачей создания высоконагруженных сайтов. Это важно, ведь почти 20% сайтов, созданных с использованием этого фреймворка, относятся к бизнес-сектору. Кроме того, с использованием Django достаточно легко увеличивать сложность веб-ресурса, стартуя с одностраничной визитки и наращивая функциональность по мере повышения спроса.

Безопасность

Помимо того, что сам Python для новичка является более надёжным языком, нежели PHP, так ещё и Django имеет множество встроенных инструментов для обеспечения безопасности пользователей. О наличии быстро встраиваемой системы аутентификации, которую можно легко ввернуть в сайт, мы уже написали. Также есть проверки на популярные ошибки: SQL-инъекции, подделка запросов, clickjacking, обработка межсайтовых скриптов.

Нет, конечно, разработка ресурсов на Django — не гарантия безопасности, но определённо это хороший инструмент для её обеспечения.

Востребованность

Мы не будем говорить, что все биржи труда завалены предложениями за кучу денег разработать сайт на Django. В сущности, большинству заказчиков не важны инструменты исполнителя. Но Django — один из лучших способов быстро и качественно сделать интернет-магазин или веб-блог, а значит с его помощью можно заполучить много заказов как для заработка, так и для набивания портфолио. Таким образом, знание Django — практически гарантия успешного трудоустройства в мире IT.

Если говорить о конкретных цифрах, то это свыше 1000 вакансий на агрегаторе trud.com и более 200 фриланс-проектов на Upwork.com. Эти цифры наглядно демонстрируют заинтересованность работодателей в специалистах, работающих на Django.

Герой фильма «Джанго освобождённый» прошёл длинный путь от раба со шрамами на спине до ковбоя на гарцующей лошади. Python и Django могут вам подарить схожее приключение: от простого пользователя до настоящего творца интернета. Дело за малым — проявить соответствующую волю, старательность и заработать немного удачи. Ведь без неё не смог бы справиться даже тот самый Джанго.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "GeekBrains _", "author_type": "self", "tags": [], "comments": 46, "likes": 7, "favorites": 16, "is_advertisement": false, "subsite_label": "hr", "id": 52450, "is_wide": false, "is_ugc": true, "date": "Wed, 05 Dec 2018 09:51:16 +0300", "is_special": false }
Объявление на vc.ru
Торговля
Как мы вместе с «Магнитом» перевели 2200 работников на «удалёнку»
Рассказ о самом крупном внедрении на мобильной платформе «1С» в российской рознице.
0
{ "id": 52450, "author_id": 114436, "diff_limit": 1000, "urls": {"diff":"\/comments\/52450\/get","add":"\/comments\/52450\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/52450"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199121, "last_count_and_date": null }
46 комментариев
Популярные
По порядку
Написать комментарий...
16

очень смешная статья

Ответить
9

Django является одним из самых популярных веб-фреймворков: только запущенных сайтов, разработанных на нём, в сети почти 65 тысяч.

Только на .com более 1 мрлд доменов, а сайтов более 800 миллионов, а если добавить все остальные зоны, то 65 тыс на Django это вообще капля в море. И как после этого можно говорить что Django популярный?

Помимо того, что сам Python для новичка является более надёжным языком, нежели PHP

Сравнивать надежность PHP и Python всегда нужно по последним версиям и до сих пор нет ни одного качественного сравнения надежности т.к. относительно оба достойно выдерживают безопасность. А ЧТО КАСАЕТСЯ ВАШЕГО ДЛЯ НОВИЧКА...мля новичок, что умирал или заболевал раньше от PHP?

Если говорить о конкретных цифрах, то это свыше 1000 вакансий на агрегаторе trud.com и более 200 фриланс-проектов на Upwork.com.

Где пруфы? Там такие цифры про сам Python, а не Django

P.S. Вообще на VC надо запретить некачественные статьи.

Ответить
1

качеством кода надо сравнивать языки программирования. так как говно может быть и на C++, а красивый и хорошо работающий код хоть на visual basic.
куча проектов работает на разных технологиях. и работает.

Ответить
1

также как и ломаются кучи сайтов на кучах технологий у куч проектов.

Ответить
0

Я бы хотел увидеть такую строчку в статье:
"Amazon, Google, Facebook полностью написаны на Django"

Ответить
5

Сначала подумал, что о slave/master будет.

Ответить
1

Сейчас это уже неполиткорректно

Ответить

Комментарий удален

3

Где-то существуют асинхронные конструкторы?

Ответить

Комментарий удален

2

Я не только про питон, а вообще про ООП.
Конструктор по своему смыслу должен возвращать инстанс класса, а не какую-то непонятную фьючу.
Хочется асинхронно инициализировать - статические методы и фабрики в помощь.

Ответить
0

все зависит от задач

Ответить
2

Ценность статьи равна нулю, просто мусор с рекламой курсов...

Ответить
4

какой нюанс-то?
«питон не нужно учить, потому что я не нашёл работу»
это не нюанс, это булшит жопорукого прогера.
хороший находит работу всегда вне зависимости от технологий, которыми владеет.

Ответить
0

"Коучинг — проведение на личностный рост с людьми онлайн/оффлайн"

Ясно понятно, на этом любые комментарии от тебя можно воспринимать. Иди дальше колядуй успехом и трудолюбием=)

Ответить
0

вы по контенту давайте.
ключевые слова из поисковиков за 2014 год выбирать и ими прикрываться - это не очень профессионально.

Ответить

Комментарий удален

3

Весь нормальный мэшинлернинг на питоне.

Ответить

Комментарий удален

0

any технология востребована в своем бизнесе
в бизнесе не востребованный. В production тем более.

не буду разводить холиваров, но это неправда. и в бизнесе востребован и в production.
сказка про хорошего программиста такова - если ты знаешь как реализовать что-либо ты сможешь использовать любой инструментарий.
Я не думаю, что вы не сможете, зная python закодить аналогичное на php или nodejs. Если вы понимаете в чем разница между GET и POST запросами, если представляете, что для отображения страницы по запросу надо вернуть шаблон итд, то это будет примерно одинаково на any языке.

сайт = запрос + логика / логика с запросами бд и их обработкой + ответ

в итоге у хорошего программиста нет топки за технологию. есть понимание, что одно и тоже занимает на разных технологиях разное время в плане разработки и зависит от задач: для асинхрона или вебсокетов лучше заюзать nodejs - там это будет быстрее и корректнее работать, чем на python. для быстрой кастомной админки с ORM - django реально хороший выбор. для простенького сайта из страниц и блога лучше wp вряд ли что-то будет.
так что программист - это не умение программировать на py/php/... это склад ума. как с инженерами - если ты понимаешь как двигатель работает, то ты разберешь и соберешь условно любой. не сразу, но сможешь.

Ответить

Комментарий удален

0

Приходите вы на собеседование на Python, а там graphql в связке с бд вместо orm, elastic для выборок по бд, redis для подгрузки списков аяксом, memcached для кеширования страниц, сборщики на nodejs, quart вместо любимого asyncio и тп.
Конечно вас побреют с вашим классным Python, потому что кроме python вы ничего не знаете из того, с чем предстоит работать. Это говорит только об одном - вы выучили язык, но не умеете пользоваться инструментами. Вы знаете как использовать базовые конструкции. Чтобы сделать сайт вам вряд ли придется пользоваться полиморфизмом, о котором вы так много читали. Скорее вам нужно будет понимание как подключиться к mysql и как составить запрос или как этот запрос сделать при помощи orm.

профессионально знаю 8-9 языков

начнем с этого. что значит профессионально знаете? умеете делать if и foreach? функции писать и вызывать? описывать класс и создавать объекты? В конечном итоге если смотреть на разработку - пофиг вообще на чем писать. Главное понимать как инструменты работают и в чем их суть. Вряд ли вы пишите сайт на чистом python без использования либ или на чистом php. Скорее всего вы знаете парочку фреймворков и можете заюзать кучу либ и кода с github/stackoverflow.
Это применимо не ко всему, безусловно, но к доброму большинству разработки. Юзер совершил действие(на сайте/в приложении/...), нужно отреагировать.

Поэтому когда вы перейдете на новый язык - все ваши знания обнулятся.

Везде одни и те же ifы и foreachи, одни и те же принципы ООП. Давайте конкретный пример, если он есть, конечно.

Во-первых, я каждого языка есть огромное количество нюансов.

Везде почти одинаковый базис. Особенно в высокоуровневых языках.

И никакой опыт в других языках вам не поможет набить все эти шишки. У каждого языка огромное количество библиотек (со своими багами, нюансами, архитектурными паттернами), фреймворков и т.п.

О чем и речь, что сам язык(практически независимо от его названия) нужен для галочки. Вам нужно научиться работать с 3rd party либами, понять принцип работы с ними, no more.

Практически всё придётся изучать с нуля - чтобы что-то приличное написать на новом языке.

Это не правда.
Конструкции слишком похожи везде. От if заканчивая async await.

У вас есть фантазийная реальность, выдуманная.

Не факт, что все не с точностью наоборот.
Спокойно разберусь в любом современном коде вне зависимости от языка. Где-то будет object.method, где-то object->method(), где-то [object method] , где-то иначе. Суть не в этом. Я разберусь, даже если не видел никогда ранее этот язык(кроме brainfuckов конечно). Поэтому не в языке суть. Язык не важен. Важно то, как у вас голова работает.

Понятно, что на интервью вам могут задать вопрос, после которого вы войдете в ступор. Типа - "отправьте 10 запросов одновременно и покажите результат, как только все 10 выполнятся", а до этого вы только с синхроном работали. И самое обидное, что этот тривиал описан на главной странице библиотеки asyncio. Это не повод брить кандидата. Но это и не повод говорить "я не нашел работу, поэтому python говно". Просто ты инструмент, важный для них, не рассмотрел. У меня было так. Поэтому все равно на чем кодить, главное задачи закрывать.

Ответить

Комментарий удален

0

Мы точно один материал обсуждаем? Там один парень говорит что python говно, потому что он выучил и не смог устроиться. Давайте с этой стороны смотреть?

Ответить

Комментарий удален

0

В итоге - на изучение ру потратишь 20ч, на скалу 200ч. Реально говно, простите:)

Ответить

Комментарий удален

1

в долине другая история:
https://www.quora.com/What-are-the-top-programming-languages-used-in-Silicon-Valley/answer/Rakesh-Wagh
говорят Python растет по популярности и обгоняет js

Ответить

Комментарий удален

0

js может быть фронт.
сравните бек с беком.
про сложность очень субъективное.
в итоге смотрим по миру:
https://stackify.com/wp-content/uploads/2017/12/top-programming-languages-1.png
в РФ плохой бизнес видимо ;)

Ответить

Комментарий удален

1

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

Ответить
0

официальную доку читайте. и код

Ответить
0

если брать в среднем по больнице, то WP который на PHP взламывают чаще, чем django/..
в PHP ты должен многое предусматривать, если за тебя это не сделал фреймворк, поэтому в плане защиты змей чаще выигрывает.

Ответить
0

Гуглите Закон Линуса.

Ответить
0

Когда у тебя утиная типизация без разницы какой фреймворк. Даже супер пупер современные IDE типа PyCharm не помогут. 99% нагрузки в итоге ложатся на разработчика, а это каким бы скиластым он не был - человеческий фактор. И так далее :)

Ответить
1

Без строгой типизации я бы так и не узнал, зачем мне ide вместо редактора.

Ответить
0

отличный комментарий :)

Ответить
0

поясните кейс. не то, чтобы топлю за Python, просто ни разу не столкнулся.
это каким надо быть дураком, чтобы не знать что у тебя в переменной лежит. или ваши функции отдают то массив, то объект? не пишите такие ф-ии.

Ответить
1

Вот вы умный и ни разу не дурак. И функция у вас возвращает какую-то хитрую структуру (словари листов словарей, например). И вдруг вы поняли, что нужно изменить структуру возвращаемого значения. И теперь перед вами в полный рост встаёт проблема во всех местах использования результата вашей функции, и даже его составных частей обновить его разбор и использование. И ни одного места не пропустить. А статическая типизация вам бы сразу все несоответствия бы показала.

Ответить
0

Вам может прилететь откуда-то извне или из используемой либы не то что вы ожидаете и вы просто об этом не узнаете пока в рантайме где-нибудь что-нибудь не упадет :) Конечно все можно оградить и проверять типы и т.п. и тут-то и всплывает что утиная типизация возлагает на разработчика дополнительную нагрузку. Для небольшой утилитки может быть и ок, чтобы быстро налабать.

Чем больше проверяется на уровне компиляции тем меньше ошибок. Незачем держать в голове то что может сделать лучше и без усталости робот-компилятор :)

Ответить
0
Ответить
0

Django слишком избыточная. Мы юзаем чаще Flask, он обладает нужным базовым функционалом, остальное - модулями доводится - orm/формы/...

Ответить
0

ну да, конда разработчики фласка не рекомендуют его использовать на серьезных проектах, все бегут его использовать на серьезных проектах. не нужна избыточность — pyramid

Ответить
0

дайте ссылку.
если flask/.. может сервить достаточно быстро один запрос, значит сможет и много. а значит надо копать не в сторону flask, а в сторону uwsgi/nginx/балансеров/кеширования/...
Понятно, что если у вас в проекте, чтобы открыть страницу, нужно совершить 50 запросов к бд, то при 200 пользователях онлайн он будет тупить как девка с того видео. Но это не проблема фреймворка.

Ответить
0

конда разработчики фласка не рекомендуют

я об этом

Ответить
0

А. Давно было, я тогда только-только приступал к питону. Сейчас этой строчки не вижу у них, только про веб-сервер, но это и ежу понятно, что их сервер непригоден для деплоя. Видимо, уже можно

Ответить
0

сервер вы покупаете и на нем запускаете программы. фласк - это фреймворк, который только помогает проще сервировать ответы на запросы и производить выполнение логики. так что ваши догадки ложны.
ежу не понятно - дайте цифры или обоснование. http://klen.github.io/py-frameworks-bench/ вот например. и тут фласк - обычный среднячок. и больше перформенса зависит от того как его готовить будут остальные серверные пункты - nginx/apache/uwsgi/memcached/балансеры и тд. все, что он должен сделать - выполнить вашу логику и ответить на запрос, как только его получил.
пока ваше мнение без обоснования :)

Ответить
0

вы вообще не туда ушли. попробуйте прочитать внимательно мои сообщения.

Ответить
0

сервер непригоден для деплоя

1) у них фреймворк
2) деплой - процесс развертывания.
кто и для чего непригоден так и не понял)

Ответить
0

вы, простите, точно разработчик?

Ответить
0

<ИМХО>
Новичкам рекомендовать Питон с Джангой говоря что это просто и легко, все равно, что в качестве первого автомобиля рекомендовать Мустанг с ручной коробкой, говоря что это удобно и сразу стильно. Еще забавляет как ML начинают учить не с графики и пакетов, вроде Rapidminer и Tableau, а сразу по жести через блокнот и ручной программинг нейросетей.
</ИМХО>

Ответить
0

Кратко содержание статьи, для тех кто ценит свое время:
"Приходите на наши курсы" + позитив про питон из дежурных фраз на уровне аннотации к рандомному учебнику по питону.
Оно вам надо?))

Ответить
0

Если статья с рекламой курсов такое УГ, то и от самих курсов ничего хорошего ждать не стоит

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }