Django или Flask? Рекомендация из моего опыта.
По моему опыту, общая проблема с приложениями, управляющими данными с помощью Python - это незнание, какой инструмент использовать для какой работы. Я думаю, что само собой разумеется, что использование правильного инструмента для работы - это большая часть того, что мы делаем. Трудно понять, с чего начать, если можно было начать где угодно. Однако я снова и снова сталкивался с вопросом: «Следует ли мне изучать Flask или Django?» Короткий ответ: и то и другое!
Но почему я рекомендую знать и то, и другое? Flask и Django - это просто веб-API для Python, верно? В чем преимущества Flask и преимущества использования Django вместо него? На самом деле во многих отношениях они используются для самых разных целей. И хотя они, безусловно, время от времени могут пересекать черту.
Django
Все мы слышим безумные истории о некоторых из крупнейших веб-сайтов на Земле, использующих Django. И на это есть веские причины, поскольку Django не только почитаем, но и довольно удобен в использовании. Сильные стороны Django заключаются в цели, которую он ставит перед собой. Django отлично подходит для создания полноценного веб-приложения на Python. Хотя вы, безусловно, можете делать некоторые вещи более низкого уровня с Django, я думаю, что для многих людей Django сияет в форме быстрой разработки и системы auth/permission Django, которая встроена в сам пакет.
Django не только упрощает администрирование проекта, но и значительно упрощает запуск. Многие вещи, которые потребуются вашему приложению, встроены в вашу команду запуска проекта Django.
Flask
Flask, безусловно, очень популярный выбор как для Data Nuts, так и для Data Scientists. Flask - более легкий из двух. Flask часто использует подход «создание с нуля» для большей части вашего веб-сайта. Хотя это немного затрудняет разработку полномасштабных веб-приложений, это также раскрывает мощь Flask и одно очень большое различие между ними.
Flask легкий. Это делает Flask отличным выбором для конечных точек, запросов и конвейерной обработки. Многие науки о данных фокусируются на создании сложных алгоритмов и ROC/AUC, но одна из самых популярных и игнорируемых сторон науки о данных - это поток данных.
Возможность читать, обрабатывать и запрашивать данные чрезвычайно ценно для специалиста по данным. Flask чрезвычайно упрощает дамп для HTTP-запросов, эффективно создавая конечные точки на все время использования.
На мой взгляд, хотя Flask, безусловно, может делать почти все, если не все, на что способен Django, Flask все же лучше в этом конкретном случае, а Django лучше, чем другие.
Итак ... Почему оба?
В нашем путешествии по науке о данных конечные точки и инфраструктура данных могут оказаться даже более ценными, чем вы думаете. Хотя, безусловно, есть новые достижения в ML, которые очень интересны, для получения подобных моделей в первую очередь требуется инфраструктура.
Что касается меня лично, мне нравится использовать все инструменты, которые я могу, когда они мне нужны. Мне нравится разрабатывать во Flask, как и в Django. Если бы мне нужно было ответить на HTTP-запрос, я бы сразу погрузился в приложение на основе Flask. Если бы я создавал следующий Facebook или сайт форума, я бы определенно использовал Django.
Если вам нужно было выбрать один:
Если у вас не было абсолютно никаких возражений против использования обоих, или если вам интересно, с чего начать, ответ определенно - Flask. Хотя Django - фантастический пакет для создания очень крутых приложений, я обнаружил, что чаще всего в конечном итоге использую Flask.
Для типичной работы, связанной с DS, я считаю, что Flask отлично справляется. Flask полезен, потому что легче начать работу без всех сбивающих с толку «расширений», которые Django будет бросать вам налево и направо. Не то чтобы это было плохо, но редактирование сохраненных путей к файлам Django, чтобы немного изменить ваш проект, определенно может быть пугающим для новичка. Flask позволяет легко маршрутизировать ваши функции и создавать результат без лишних хлопот.
Хотя вы, безусловно, можете взять либо Flask, либо Django и добиться успеха в создании - ну, во многих вещах, безусловно, оба имеют свои сильные и слабые стороны. Оба они абсолютно могущественны, и противопоставлять их друг другу бессмысленно. Flask и Django обладают непревзойденной способностью переносить нашу математику и алгоритмы куда угодно.