Понемногу, изучаю Python. И появился у меня вопрос, о web программировании.
Месяц назад, написал небольшое web приложение на python, для взаимодействие с неким API через json. Приложение простенькое, несколько html файлов с формами и несколько .py файлов, которые обрабатывают эти формы. Без всяких там WSGI. Доступ к этому приложению, получаю через стандартный, питоновский, CGI сервер.
Попросила у меня, сторонняя контора, разработать им такое же приложение за деньги, с небольшими правками. Поэтому, нужно развивать приложение дальше. Добавить авторизацию, заносить данные в БД и т.д., да и деплой сделать нормальный.
Для всего этого, конечно же, нужно использовать фреймворк. Вот тут, у меня и возникает вопрос, а какой?
С одной стороны, я понимаю, что приложение маленькое, поэтому Flask или Pyramid. Или еще какой нибудь маленький...
С другой, не лучше ли, на этом маленьком приложении, начать изучать Django? Что бы в дальнейшем, быть подготовленным, к чему то большему?
Кто, что думает по этому поводу?
P.S. Менять профессию с системного администратора, на python разработчика, пока не планирую. Но мало ли, как дальше пойдет...
Посмотрите еще в сторону бутылки, но она совсем маленькая, там даже авторизации нет (предполагается, что при необходимости вы сами ее легко навелосипедите).
Джанго можно достаточно долго разбирать, если вы его не знаете, что приведет к затягиванию сроков вашей коммерческой разработки.
Так что ваш выбор фласка/пирамидки мне кажется оптимальным.
Flask или Django, любой на ваш выбор. Который больше понравится - тот и берите.
Если сроки поджимают - скорее Django (ибо "все включено" + море информации по готовым решениям типовых задач). Если нет - выбирайте, который по душе.
С Pyramid вы заблуждаетесь. Это отличный и мощный фреймворк для проектов любой сложности. Но порог входа у него выше, документация на английском, коммьюнити меньше. Поэтому для новичков, целью которых является поиск работы или создание проекта в сжатые сроки, это не самый оптимальный вариант. А вот если начать изучать для себя, на перспективу, для развития - то да, рекомендую однозначно.
Возможно я не донес полностью свои мысли. Идея в том, что бы начать изучать с маленького проекта и,что важно, не надуманного проекта. Причем начать изучать так, что бы это было востребовано. Для дальнейшего развития, несомненно, нужно знать больше одного фрейворка.
Если хотите потом зарабатывать на python, то большая часть вакансий django. И вообще вы же не жену себе выбираете на всю жизнь, так что берите любой и практикуйся, а выбирать это трата времени)
Это не совсем так - Flask более гибкий, настраиваемый и дает больше контроля над архитектурой системы
Django более мощный, соответственно более сложный внутри и менее гибкий (всё встроено под капотом).
Flask лучше настраивается, но требует больше опыта и понимания, как всё устроено и больше времени на конфигурацию
Например:
В Django жестко встроена собственная ORM, которую сложно заменить.
Для Flask можно использовать sqlalchemy или что-то другое, например легче настроить с mongo
В Django жестко встроена модель пользователя и чтобы добавлять пользователю поля, нужно что-то придумывать (наследоваться от стандартной модели и т. д.). Flask не диктует какую модель использовать, можно использовать любую
Всё остальное примерно также: авторизация, различные rest framework (Django Rest Framework, Tastypie или flask-restful). Django - всё готовое и меньше конфигурации, Flask - больше времени и усилий на настройку, но больше контроля и гибкости