что нужно знать django разработчик
10 полезных советов для начинающих изучать Django
1. Используйте относительные пути в конфигурации
2. Используйте тег
Вместо того, чтобы хардкодить ссылки, попробуйте использовать обратно совместимый тег <% url %>. Это даст вам абсолютный URL, но если проект будет перемещен, ссылки остануться актуальными.
По сути <% url %>берет имя представления и его параметры и делает реверсивный просмотр, чтобы вернуть запрошенный URL. Если вы внесете изменения в urls.py, ссылки не сломаются.
3. Используйте админку Django для ваших приложений на PHP
Одно из достоинств Django его система авторизации пользователей, которая встроена в ядро Django. Ее очень легко настроить и она содержит в себе удобную систему для авторизации пользователей и задания необходимых настроек.
Эта система авторизации настолько хороша, что многие предлагают использовать ее как админку для приложений на PHP.
4. Используйте отдельный сервер для обработки статики
Django позволяет вам располагать статические файлы в dev-окружении, но не в вашем production-окружении.
Django спроектирован так, что бы спасти вас от себя самого. Если вы попытаетесь использовать статические файлы с того же экземпляра Apache, что обслуживает Django, вы потеряете в производительности.
Apache переиспользует процессы между каждым запросом, поэтому, если однажды процесс закешировал весь код и библиотеки для Django, они остаются в памяти. И если вы не используете этот процесс для того, чтобы
обработать запрос Django, вся эта память будет использована зря.
В случае если вы используете отдельный сервер (или virtualhost) для обработки статики, производительность вашего приложения не пострадает.
5. Используйте Django debug toolbar.
Инструменты для отладки несут неоценимую помощь в любом языке. Они ускоряют процесс разработки помогая находить ошибки и потенциальные проблемы которые могут возникнуть.
Django debug toolbar позволяет просмотреть все выполненные SQL запросы в процессе рендеринга представления и вы также можете просмотреть stacktrace для любого из них.
6. Django юнит-тестирование
Юнит-тестирование хороший способ убедится что ваши изменения в коде работают так, как ожидается и не ломают предыдущий код. Одна из прекрасных возможностей Django — это то, что писать юнит тесты невероятно просто. Django предлагает возможность использовать doctest или unittest прямо из коробки, а документация Django содержит отличные обучающие материалы и примеры кода, как настроить юнит тесты, чтобы обнаружение багов стало еще более простым занятием.
7. Визуализация моделей
Установите Django Command Extensions и pygraphviz и затем используйте следующую команду чтобы получить удобную визуализацию моделей проекта в Django:
8. Virtualenv
Virtualenv + Python = палочка-выручалочка. Virtualenv будет изолировать настройки Python/Django для каждого отдельного проекта. Это значит, что изменения одного сайта не затронут другие сайты. Также это может оказаться удобным, когда на сервере необходимо держать разные версии Django или python.
9. Используйте Memcache
Когда низкая производительность может стать проблемой, вы скорее всего захотите установить какую-либо систему кеширования. Django предлагает множество вариантов для кеширования, но лучшим из них на сегодняшний день является memcached.
Установить и использовать memcached весьма просто, если вы используете модуль cmemcache. После того как модуль будет установлен, вам нужно внести одну строку в конфигурацию, чтобы ваши страницы начали выдаваться еще быстрее.
10. Автозагрузка кастомных тегов, которые можно использовать во всех шаблонах
Если добавить это в модуль который загружается по умолчанию (settings.py,urls.py,every app models.py), у вас будут доступны все теги и фильтры из вашего кастомного модуля в любом шаблоне, без использования <% load custom_tag_module %>.
Аргументом к template.add_to_builtins() может быть путь к любому модулю; ваш кастомный модуль не обязательно должен быть привязан к какому то определенному приложению.
Например, это так же может быть модуль расположенный в корневом каталоге проекта (например: ‘ project.custom_tag_module ‘).
Стоит ли изучать Django в 2020?
Если вы начинающий программист, и задаетесь вопросом: должен ли я изучить Django? Короткий ответ — да.
Если вам потребуется реализовать вашу идею с минимальными затратами и быстро — Django подходящий инструмент. Он бесплатен, свободен и позволяет сделать разработку web-проектов еще проще. Django лучшее решение для разработки прототипов приложений, поскольку он включает все необходимое для создания необходимого функционала прямо из коробки. Например, админка может быть подключена одной строчкой кода.
Если вы разработчик уже знакомый с Python, и находитесь в поисках фреймворка для бэкенда вашего приложения или сайта, Django также будет хорошим выбором.
Фреймворк содержит в себе библиотеки и инструменты позволяющие проводить различные операции и эффективно обрабатывать большое количество запросов пользователей в реальном времени.
Поэтому процесс разработки становится быстрым, так как вам не нужно создавать каждый компонент с нуля.
Преимущества Django
1. Быстрый
Разработчики сделали фреймворк с учетом того, что бы он был простым и в то же время быстрым. Он содержит в себе библиотеки, которые позволят вам не изобретать колесо заново или создавать проект с нуля.
2. Безопасный
Когда речь заходит о безопасности, фреймворк позволяет не наступать на грабли и избежать многих проблем с безопасностью, таких как SQL-иньекции, XSS, CSRF, из-за возможных ошибок программиста.
3. Панель администрирования
В фреймворке сразу присутствует панель администрирования и система авторизации, которая позволяет сэкономить время на управлении пользователями, и создании отдельной панели администрирования для бэкенда.
4. Масштабируемый
Фреймворк подходит для проектов с разной степенью нагруженности, и если небольшой проект в будущем может вырасти, никаких проблем — Django прекрасно масштабируется под большие нагрузки.
5. Data science и аналитика
Мы уже знаем, что Django сделан на Python, а Python известен как прекрасный инструмент для создания проектов с использованием искусственного интеллекта и машинного обучения. Следовательно, если вы планируете интегрировать в ваш проект машинное обучение или анализировать и обрабатывать большие объемы информации, то вы определенно должны попробовать Django.
6. Поддержка сообществом
Вокруг Django существует довольно большое и активное сообщество, а сам фреймворк имеет богатую и удобную документацию.
Быстрый старт
Чтобы сразу быстро начать кодить на Джанго командой и тестировать, я собрал и выложил образ VPS в маркетплейсе с пустым проектом Django 3.1.3 и
Стоимость такого сервера будет 769 рублей в месяц – 538 рублей, при оплате за год.
И напишите свои любимые лайфхаки при работе с Django в комментариях — попробуем собрать пост советов.
Популярный язык для новичков: как освоить Python Django с нуля и сколько можно на этом зарабатывать
Первая версия платформы Django была запущена в 2005 г. Этот фреймворк используется для разработки веб-продуктов за короткий срок. Изучить Python Django с нуля можно как после прохождения специализированных курсов, так и после самостоятельного изучения.
Python Django — что это и где используется
«Джанго» – это бесплатная платформа для веб-приложений, написанная на языке Python. Она облегчает создание и поддержку технически сложных проектов: сайтов, веб-сервисов и бизнес-приложений. Django включает в себя набор компонентов, которые позволяют разрабатывать эти проекты быстрее и проще.
Свое название Django получил в честь французского джаз-гитариста Джанго Рейнхардта. Его прозвище в переводе с цыганского языка означает «я проснулся».
Фреймворк предлагает готовые шаблоны для использования веб-разработчиками при решении стандартных задач. Например, практически для любого веб-сайта необходимо задать способы регистрации, входа, загрузки файлов. Эти компоненты и объединяет в себе платформа «Джанго».
Что такое, Python Django, рассказывают здесь:
Обратите внимание! В эпоху коронавируса все ищут дополнительные возможности заработка. Удивительно, что альтернативными способами зарабатывать можно гораздо больше, вплоть до миллионов рублей в месяц. Один из наших лучших авторов написал отличную статью про заработок на играх с отзывами людей.
Что нужно знать программисту для работы с Python Django
Для работы необходимо обладать рядом знаний и навыков:
Желательно знание архитектуры информационных систем и Javascript. Среди личных качеств важны аналитический склад ума, системное мышление и умение работать в команде.
Про интересные факты о Django, рассказывают здесь:
Обучение Django-разработчиков
Пройти обучение можно как очно, так и онлайн. IT-академия предлагает практический курс длительностью 5 месяцев, во время прохождения которого можно создать полноценное портфолио.
Занятия проводятся дистанционно или очно 2 раза в неделю.
Учебный центр при техническом вузе разработал программу повышения квалификации. Предварительную подготовку необходимо подтвердить на онлайн-тестировании. Стоимость курса из 40 академических часов составляет 25 тыс. руб. Занятия проводятся в удобное время. По окончании выдается свидетельство и сертификат международного образца. Цена индивидуального курса с личным наставником составляет 93 тыс. руб.
Курсы для начинающих
Онлайн-университет, гарантирующий трудоустройство, разработал специальный курс для чайников. Обучение курирует личный наставник. Программа рассчитана на 1,5 года и включает 2-4 занятия в неделю. Защитив дипломный проект, слушатели получают свидетельство установленного образца и именной электронный сертификат.
При отсутствии опыта программирования потребуется пройти подготовительный курс, который в период акции предоставляется бесплатно.
Стоимость основного курса начинается от 8,6 тыс. руб. в месяц.
«Школа будущего», созданная по инициативе крупнейшего российского банка, позволяет пройти бесплатное обучение талантливым молодым людям. Очное обучение организовано на принципах командной работы без привычных лекций и семинаров, но с большим количеством практики.
Курс Python-разработчика от нуля до профи можно пройти за 12 месяцев и 58,5 тыс. руб. (2,4 тыс. руб. в месяц). Занятия проходят в формате видеокурсов, домашних заданий и общения с наставником. По окончании слушатели получают дипломы и помощь в подготовке портфолио и резюме.
Обратите внимание! В эпоху коронавируса все ищут дополнительные возможности заработка. Удивительно, что альтернативными способами зарабатывать можно гораздо больше, вплоть до миллионов рублей в месяц. Один из наших лучших авторов написал отличную статью о том, как зарабатывают в игровой индустрии тысячи людей в интернете. Читайте материал с отзывами людей о лучших играх для выигрыша денег.
Можно ли освоить Python Django самостоятельно с нуля
Официальная документация по «Джанго» является одной из лучших среди аналогов. По мнению опытных разработчиков, начинать самостоятельное изучение нужно именно с нее. Кроме того, в сети можно найти учебники по теме в свободном доступе.
Для быстрого старта подойдет, например, Django Girls. Это такой туториал, где за один день можно пройти по азам, понять основы и возможности «Джанго».
Разработчик Международной инвестиционной группы FinEx, Алексей Штырняев
В блоге компании Mail.ru представлен рейтинг наиболее полезных ресурсов от интернет-магазинов. Лидерами списка являются:
Существуют сервисы, позволяющие практиковаться в создании веб-ресурсов. Например, руководство «Writing your first Django app» позволяет пошагово создать мобильное приложение на Джанго. Новичкам и продвинутым пользователям находить актуальную информацию поможет ресурс «Django Weekly», осуществляющий еженедельные тематические рассылки.
Как за час создать программу на Python Django, рассказывают здесь:
С чего начать работу
Злата Обуховская, тимлидер компании NVIDIA, считает, что в резюме необходимо показать минимальное портфолио. Работодателем ценятся проекты, выполненные для заказчиков, а не для себя. Хорошее начало практики – работа на фрилансе. Биржи позволяют отработать знания на практике и сформировать клиентскую базу.
Также эксперты советуют ходить на собеседования и отправлять резюме во все компании, имеющие открытые вакансии. Это позволит понять требования нанимателей и направления для профессионального развития.
Некоторые обучающие курсы гарантируют трудоустройство или прохождение практики в компаниях-партнерах. На рынке также есть вакансии стажеров и помощников на проекты Python Django. Часть из них не предусматривает оплаты во время прохождения стажировки.
Показать свои навыки потенциальным заказчикам можно на примере личного блога-портфолио, добавив туда информацию об образовании, навыках и разработках. На этот личный проект можно сослаться в резюме при отсутствии другого опыта работы. На позицию Junior можно рассчитывать после окончания курсов, а должность уровня Middle можно получить при опыте успешной работы более 1 года.
Где искать вакансии и сколько можно заработать
По данным портала Trud.com, наибольшее количество вакансий для Python-разработчиков открыто в Башкортостане и Камчатском крае. Самой высокооплачиваемой эта профессия является в Москве. Средний заработок специалиста там составляет 130 тыс. руб. В регионах уровень зарплат ниже столичного:
В России средняя зарплата программиста Python составляет 94 тыс. руб. Специалисты с опытом работы 3-6 лет в сфере разработки веб-приложений и внушительным списком ключевых навыков в Москве могут рассчитывать на доход 120-220 тыс. руб. в месяц после вычета налогов.
Python Django остается одним из основных фреймворков для создания веб-ресурсов. Это делает специалистов в области разработки востребованными и высокооплачиваемыми. Их зарплата превышает средние показатели по стране более чем в 2 раза, а знания и навыки позволяют трудоустроиться в различных направлениях IT-сферы.
В каких случаях стоит использовать Django (а в каких не стоит)
Давайте поможем разработчикам разобраться, подходит ли фреймворк Django для их следующего проекта. Вполне вероятно — подходит.
Не стоит хвататься за определенный язык программирования или фреймворк лишь потому, что вы пользовались им в вашем предыдущем проекте, или просто потому что он вам хорошо знаком. Так дела не делаются.
Прежде чем приступать к новому проекту, следует оценить, какой язык или фреймворк лучше всего подойдет вам для достижения желаемого результата. Что для вас наиболее важно? Безопасность, скорость разработки, масштабируемость, универсальность, поддержка?
Лучше принять информированное решение перед тем как приступать к работе, чем потом раскаиваться в поспешном (или, хуже того, навешивать на проект костыли в процессе реализации – из-за того, что заранее не озаботились его поддержкой).
Я много лет работал с разными технологиями, имел дело как с мобильной, так и с веб-разработкой, и считаю, что Django предлагает такой полноценный набор возможностей, каких нет ни в одном другом веб-фреймворке.
Понимаю, это громкое заявление. Позвольте мне его обосновать.
«На Django основано множество сайтов, используемых самым активным образом, в частности, Instagram и Pinterest. Даже Facebook использует Django для многих своих утилит. Django зародился в издательской среде, поэтому неудивительно, что данный фреймворк используется на таких сайтах как The Washington Post и Smithsonian Magazine.” — Амит Ашвини, Вице-президент по маркетингу @ Zibtek
Общий взгляд: когда использовать Django
Если хотя бы несколько из нижеприведенных тезизов – про вас (и в списке нет тезисов, с которыми вы категорически не согласны), то, вполне вероятно, Django хорошо подойдет для вашего проекта.
Если вы – веб-разработчик, и уже знаете, как веб устроен, то работа с Django пойдет для вас сравнительно гладко. Необходимо понимать, как структурируется Django, и некоторые другие вещи, конечно, тоже – и считайте, что вы готовы.
Сайты, работающие на фреймворке Django
Вы еще сомневаетесь, стоит ли тратить свое драгоценное время, чтобы напрактиковаться с Django? Для начала давайте обсудим, по каким причинам Django может НЕ ПОДОЙТИ для вашего проекта:
Когда не стоит использовать Django
Причины использовать Django
Фреймворк Django написан на Python:
Знаю, вам это известно.
Поэтому воспользуюсь случаем и подчеркну некоторые ключевые достоинства Django, которые он унаследовал от Python. Буду краток.
Python – один из самых популярных и быстрорастущих языков программирования в мире.
Изучить Python действительно очень просто. Обычно современные разработчики учат первым именно этот язык.
Вышесказанное совершенно не означает, что этот язык – только для начинающих. Python используется и в ультрасовременных технологиях. Python активно применяется в технологическом стеке многих компаний-гигантов, в том числе, Google.
Язык Python отлично подходит для разработки инструментов веб-скрапинга.
Он хорошо взаимодействует с другими языками.
Разработка на Python не означает, что вы будете вынуждены все и вся писать только на Python.
Вы вполне сможете пользоваться библиотеками для многих других языков, в том числе, C/C++/Java.
Python портируемый, его удобно читать.
Python даже может работать на JVM. Познакомьтесь с Jython.
Python широко используется в таких востребованных технологиях как Большие Данные и Машинное обучение.
Вы получаете доступ к огромной библиотеке PyPI.
У Django “Все включено”
“Все включено” означает, что Django «из коробки» оснащен большинством библиотек и инструментов, нужных в распространенных практических ситуациях. Перечислю: Django ORM, промежуточное ПО, аутентификация, HTTP-библиотеки, многосайтовая поддержка, i18n, Django Admin, движок-шаблонизатор, т.д. – и это еще не «все». Ни один другой известный мне фреймворк не предоставляет столь широкой поддержки сразу.
Некоторые считают такое обстоятельство “минусом”, а другие – «плюсом». Каждая сторона права по-своему, и я в некоторой степени согласен с обеими.
Это минус, поскольку в такой ситуации фреймворк превращается в монолит.
Я считаю, что, если вам требуются эти возможности, приводящие к формированию монолита, то вам так или иначе придется воспользоваться какой-то другой библиотекой (или написать ее самостоятельно).
Почему бы в таком случае не воспользоваться инструментом, в котором все это уже есть, проверено в боях, функционирует на крупнейших сайтах, активно разрабатывается и обеспечено поддержкой сообщества?
Если вам не требуется большинства возможностей, предлагаемых в Django, то лучше остановиться на каком-нибудь микрофреймворке.
Не изобретать велосипед – вы помните? Потратьте ваше время на то, что действительно важно, а Django пусть сделает все остальное.
Django Admin
Хотя, я и упомянул этот элемент в предыдущем разделе, он заслуживает более пристального внимания. Во многих фреймворках, в частности, Laravel, Yii, т.д., предпринимались попытки упростить работу с админкой. Мне доводилось разрабатывать множество проектов в разных фреймворках, но ни один из них и близко не сравнится с Django по удобству работы с панелью администратора.
Некоторые считают, что Django Admin недостаточно гибок, и для подстройки любой его части под свои нужды требуется приложить массу усилий. На первых порах работы с Django я склонен был с этим соглашаться, но со временем, разобравшись во фреймворке, разубедился в этом. Да, там присутствует своя кривая обучения, но ни секунды, что вы ей уделите, не будет потрачено зря.
На самом деле, Django Admin очень хорошо структурирован. В некоторых моих проектах я использовал админку Django «как есть», а в других полностью заменял ее собственными шаблонами, которые разрабатывал с нуля. В любом случае, на это потребовалось не больше времени, чем на разработку с любым другим известным мне фреймворком.
Основной плюс? Вы получаете «из коробки» права доступа и аутентификацию. На разработку всего этого с нуля у вас ушли бы недели (или, как минимум, несколько дней).
Принцип DRY (Не Повторяйся)
Мне известно множество фреймворков, сторонники которых утверждают, что те действительно соответствуют принципу “DRY”. Я работал с многими такими фреймворками, но ни в одном из них принцип «DRY» не реализован как следует.
К сожалению, в большинстве фреймворков принципу “DRY” просто не уделяют достаточного внимания. На мой взгляд, если вы пишете приложение, которое собираетесь регулярно обновлять (а это можно сказать о большинстве современных приложений), то вы должны следовать принципу DRY во избежание проблем.
Так, в Laravel приходится писать валидацию для каждой процедуры отдельно. Такова же ситуация и с большинством других фреймворков. Чтобы ваш код соответствовал принципу DRY, нужно потрудиться. Сложно это отслеживать, особенно если вы работаете в команде.
В свою очередь, фреймворк Django спроектирован таким образом, что нарушить принцип DRY там обычно выходит только нарочно.
Так быть не должно, верно? Рассмотрим пример.
Вот как в Django устроена валидация и миграция базы данных
Создаем класс Model с требуемыми полями. Указываем все необходимые нам дополнительные валидации и ограничения.
Миграции генерируются единственной CLI-командой: `python manage.py makemigrations`.
Изменения вносятся в базу данных единственной CLI-командой: `python manage.py migrate`.
Валидации и ограничения автоматически проверяются при каждой CRUD-операции — идет ли речь о Django Admin или о Django REST Framework. Писать валидации заново вам не придется.
Тот же самый класс модели используется для генерации представлений Django Admin CRUD. Не требуется дописывать никаких собственных HTML/CSS.
Сравните эти условия с любым другим фреймворком – и, думаю, вам бы нигде не удалось сделать ничего подобного всего в несколько следующих строк кода:
Здесь речь не только о том, чтобы “не повторяться”. Такой подход уберегает вас от багов в перспективе. Все мы оказывались в ситуациях, когда довелось изменить что-то в одном месте, а в другом месте заменить забыли – и это выяснилось лишь после того, как у множества пользователей начались проблемы.
В Django, возвращаясь к вышеприведенному коду, если вам когда-нибудь придется заменить `max_length` поля на что-нибудь другое – просто сделайте это здесь. Изменение автоматически применится к валидации всех маршрутов и к базе данных.
Объектно-реляционное отображение в Django
Django предоставляет полнофункциональный механизм ORM «из коробки».
Я работал со множеством инструментов ORM в разных технологиях, в том числе, в Eloquent, greenDAO, Yii AR, т.д. Во всех из них простейшие запросы обрабатываются довольно хорошо, но рано или поздно мне приходилось писать те или иные запросы с нуля, поскольку механизм ORM не справлялся с конкретным практическим случаем.
С Django ORM в такие ситуации я пока не попадал. Он сработан настолько хорошо, что вы просто можете забыть, что работаете с запросами к базе данных. Именно таким и должно быть объектно-реляционное отображение. Ниже приведены некоторые примеры Django ORM:
Стремительная разработка
Этим любят похвастаться создатели практически любого веб-фреймворка, и, пожалуй, все они действительно правы – смотря какой смысл мы вкладываем в слово «стремительная».
Правда, с Django некоторые вещи делаются уморительно быстро. Вы уже видели, как легко мы смогли определить UI админки, таблицу базы данных и выполнить валидацию.
Это была всего лишь верхушка айсберга.
В принципе, стремительная разработка – это не фича как таковая, а лишь органичное следствие присутствующих в Django DRY, ORM, шаблонизатора и философии «все включено».
Безопасность фреймворка Django
Давайте признаем, иногда разработчики ленятся. Я – так точно. Время от времени я прокрастинирую, откладывая решение критически важных задач. Тут-то и могут возникнуть различные уязвимости.
Мне особенно нравится, что Django не идет на послабления по поводу безопасности, чтобы ускорить темп разработки. Функции безопасности активируются по умолчанию, поэтому совершенно не важно, ленивы вы или нет.
Опенсорс, отличная документация, огромное сообщество и пр.
Поскольку Django – опенсорсный и безумно популярный фреймворк, вокруг него сформировалось отзывчивое сообщество. Думаю, вы в курсе, каковы достоинства свободного ПО – так вот, все они присущи и Django.
Официальной документации Django более чем достаточно любому разработчику. Если застрянете – найти решение не составит труда.
У вас уже могло сложиться впечатление, что в Django создано множество собственных библиотек, поэтому, возможно, удивитесь, что специальной библиотеки для тестирования здесь не сделано. Нет, не подумайте, что фреймворк Django не поддерживает тестирование – поддерживает, еще как. Просто, следуя принципу «Не повторяйся» было бы бессмысленно разрабатывать библиотеку для тестирования, когда отличная библиотека такого рода уже есть в самом Python. Django отлично с ней взаимодействует. Кроме того, он очень хорошо сочетается и со сторонними библиотеками, например, pytest.
Современное состояние Django и другие популярные фреймворки
Итак, я по максимуму постарался осветить те проблемы, с которыми сталкивался при работе с другими фреймворками и сравнить эти фреймворки с Django. Поработав с Yii, CodeIgniter, WordPress, CS-Cart, Laravel, т.д., я пришел к выводу, что Django гораздо лучше любого из них.
Однако, это только мое мнение.
Если вам нравится статистика, то вот ежегодное исследование Stack Overflow, где Django фигурирует в числе самых излюбленных и востребованных фреймворков:
Кроме вышеупомянутого опыта работы с PHP, я также рапзрабатывал приложения под Android на Java, клиентские приложения на React.js. Во всех этих случаях я потратил изрядное количество времени на рефакторинг базы кода, подыскивая наилучшую архитектуру, через пару месяцев увязая в проблемах с масштабируемостью и вновь принимаясь за рефакторинг.
Недавно я переписал с Laravel на Django одно приложение, которое было у меня в продакшене более года. Мне удалось развернуть новую базу кода менее чем за 10 дней, написав для этого минимальное количество кода (говорю же: сложность уменьшается!) В обратном направлении подобная операция определенно заняла бы более месяца.
Если вы попытаетесь напрямую сравнивать другие фреймворки с Django, это вам ничего не даст.
Контроль производительности может показать, что фреймворк на Java быстрее Django. Вы можете хорошо разбираться в PHP, так что, возможно, разработка приложения на Django пойдет у вас быстрее, чем на знакомом вам PHP-фреймворке. В случае с совсем простым приложением настройка Django может показаться вам слегка утомительной – конечно, гораздо проще написать файл со скриптами. Результаты опросов могут разниться в зависимости от того, среди какой аудитории они проводились.
Однако, здесь мы рассуждаем не только о фреймворках, относящихся к другим технологиям. Даже если вы знакомы c Python, возможно, микрофреймворк Flask покажется вам более удобным и желательным. Придется задуматься, на котором из них остановиться.
Мой совет – просто не сравнивайте их.
Вывод
На мой взгляд, в Django удалось идеально сбалансировать производительность, архитектуру, уровень сложности при разработке, безопасность и масштабируемость.
Если вы начинаете писать проект с нуля – настоятельно рекомендую попробовать сделать его с Django.