Comments 39
Установка Flask
pip install Flask
А почему бы не упомянуть в двух словах об использовании виртуальных окружений? И новички ничего не поломают случайно, и полезные практики сразу в привычку будут входить.
Миграции
Для новичков было бы неплохо расписать как работать с миграциями (хотя бы на уровне вызова основных команд)
Совет начинающему программисту: "Смотри на все как в Википедии - если чёт не знаешь, тыкай и ищи об этом".
И дело не в том, что начинающий программист не нашел в статье понятия об инструменте работы с пакетами или о чем-то ещё. Дело в том, что начинающий программист должен взять маленький кусочек о Flask, попробовать понятие такое создать, фрагмент памяти. Потом в другой статье он про бд почитает, про пакетный менеджер, про гит.
Если в одной статье пытаться уместить ещё что-то, то у начинающего программиста просто не хватит памяти эффективно хоть что-нибудь запомнить
Он ещё живой?
Ничего хуже, наверное, придумать уже нельзя, но для широких масс чем хуже - тем лучше.
Новичкам точно не рекомендую.
Ну не Django же.
Упаси.
Но Django как референс - вполне годная кодовая база. Сверяться с owasp тоже обязательно.
Django, с одной стороны, хорош как многофункциональный комбайн. И я некоторые идеи оттуда реализовал в песочнице на Flask. Но с другой, по причине той же "комбайнутости", вряд ли бы рекомендовал его для новичков. Даже не смотря (и вообще не смотря, если честно) на наличие руководств "Джанго для девочек".
Вопрос в том, почему "ничего хуже". Разверните, пожалуйста, если не трудно.
Вопрос в том, почему "ничего хуже".
Это моё субъективное мнение подкреплённое практическим опытом. Мы регулярно пытались переползти на какой-нибудь фреймворк, чтобы избавиться от поддержки своих кастомных примочек, и Flask был наихудшим вариантом. Pyramid выглядел лучше всех, но до него дело так и не дошло.
Разверните, пожалуйста, если не трудно.
Лет шесть уже вэбом серьёзно не занимаюсь, поэтому, наверное, трудно. Поисковики с радостью расскажут если спрость что-нибудь вроде flask sucks. У меня была ссылка на годный разбор почему там всё плохо - я её прикладывал для отчёта о проделанной работе, но за давностью времени затерялась.
Вообще выбор фреймворка - та ещё тема.
Спасибо за вполне развёрнутый ответ. Pyramid - будем посмотреть.
Для простых вещей советую глянуть на hypercorn. Голый ASGI весьма притягателен, а если чего не хватает - так можно из starlette, например, понадёргать нужного. Хотя starlette вполне себе ничего, но у меня бзык на минимализм.
Зря вы так. Прекрасный инструмент, прекрасно выполняющий свою работу. Вкупе с DRF достаточно прозрачно и быстро собирается api для фронта
Он ещё живой?
Если погуглить, то flask по использованию вдруг оказывается даже немного популярнее django. Так что фраза престранная.
Почему? По-моему, это идеальный вариант для новичков. Из-за того что он очень простой, даже при полном отсутствии опыта можно быстро накидать веб-приложение. А из‑за того что он очень популярный, по нему есть куча материалов, в т.ч. на русском.Есть какая-то альтернатива?
а какой фреймворк сгодится для новичка?
Вот тут, много лет назад и довольно хорошо было написанно:
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
(del)
Weird.
Вот, значит, смотрим в эту статью:
from flask_sqlalchemy import SQLAlchemy
app = Flask(name)
# подключение базы данных
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
Смотрим во вчерашнюю статью:
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# Конфигурация базы данных (SQLite)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)
# Модель для таблицы "users"
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
age = db.Column(db.Integer, nullable=False)
Это у людей настолько фантазия одинаково работает?
Примеры просто из туториала с незначительными изменениями.
Что можно изобрести для Hello World?
для начинающих всегда Hello World для знакомства как установить
дальше уже идея описать как и что можно создать и описать доп решения и идеи
Я и говорю: фантазия не работает дальше "взять пример из туториала". Непонятно только, в чем смысл статьи тогда, если можно просто туториал взять.
flask часть 2 https://habr.com/ru/articles/784770/
Мой первый Hello World был как раз написан через Flask. Из плюсов он достаточно лёгкий и гибкий. Django в этом отношении проигрывает. Он более тяжёлый.
Ну блин, накидали никак не связанных кусков "примеров", а почему было не построить шаг за шагом мини-приложение с добавлением-редактированием-удалением пользователей и соответственно авторизацией, раз уж таблицу user сделали.
согласен с вами
в первой статье хотел описать как начать работать
и завести фреймворк чтобы он начал работать
дальше уже в планах описать дополнительные идеи как и что настраивать и описать
спасибо за ваш комментарий
учту дополнительную структуру шаг за шагом для сл статьи
flask часть 2 https://habr.com/ru/articles/784770/
На мой субъективный взгляд, проблема "статей про flask" в том, что полно hello world и чертовски мало чего-то более сложного. Или чего-то несложного, но прикольного (какие-то интересные частные случаи). Или то же самое про SQLAlchemy.
Начинающие питонисты, смотрите лучше на FastApi. Не нужен вам этот flask))
Слушайте, конечно спасибо, но какой толк копировать страничку "quick start" и выдавать ее новичкам? В сети куча нормальных подобных инструкций и гайдов... Если Вы действительно работали и хотите чем то поделиться, так напишите о чем то действительно полезном и уникальном. Или это лучшие практики из вашего опыта?
quick start взял чтобы описать первую статью
дальше чтобы показать уже какие-то идеи и описать шаг за шагом что можно сделать как проект
flask часть 2 https://habr.com/ru/articles/784770/
Исправьте пожалуйста заголовок на : Вы новичок в вебе, хотите освоить, не трогайте и на милю не подходите к этому го..ну, возьмите нормальный фреймворк.
Можно узнать какой считается нормальным?
Свои web приложения часто пишу на Django из-за админки, миграций из коробки, базовой защиты и DRF. Например что можно использовать если нужна админка?
flask часть 2 https://habr.com/ru/articles/784770/
Не понимаю людей, которые осуждают Flask. Как будто у самих за плечами не один написанный фреймворк. Он очень прост и минималистичен, соответственно подходит и для таких же задач. Он был, есть и будет. На нём написано множество простых продуктов. Да, он, конечно, не такой крутой как Django, но адекватные люди и не будут его использовать для написания сложных масштабируемых сайтов.
Не понимаю почему ругают статью, наверное просто работает принцип «всем не угодишь». Лично для меня всё супер - кратко, информативно, цельно. Отдельный плюс за чёткое описание понятий
Flask для начинающих