Pull to refresh

Comments 39

Установка Flask

pip install Flask

А почему бы не упомянуть в двух словах об использовании виртуальных окружений? И новички ничего не поломают случайно, и полезные практики сразу в привычку будут входить.

Миграции

Для новичков было бы неплохо расписать как работать с миграциями (хотя бы на уровне вызова основных команд)

Совет начинающему программисту: "Смотри на все как в Википедии - если чёт не знаешь, тыкай и ищи об этом".

И дело не в том, что начинающий программист не нашел в статье понятия об инструменте работы с пакетами или о чем-то ещё. Дело в том, что начинающий программист должен взять маленький кусочек о Flask, попробовать понятие такое создать, фрагмент памяти. Потом в другой статье он про бд почитает, про пакетный менеджер, про гит.

Если в одной статье пытаться уместить ещё что-то, то у начинающего программиста просто не хватит памяти эффективно хоть что-нибудь запомнить

Он ещё живой?

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

Новичкам точно не рекомендую.

Упаси.

Но Django как референс - вполне годная кодовая база. Сверяться с owasp тоже обязательно.

Django, с одной стороны, хорош как многофункциональный комбайн. И я некоторые идеи оттуда реализовал в песочнице на Flask. Но с другой, по причине той же "комбайнутости", вряд ли бы рекомендовал его для новичков. Даже не смотря (и вообще не смотря, если честно) на наличие руководств "Джанго для девочек".

Вопрос в том, почему "ничего хуже". Разверните, пожалуйста, если не трудно.

Вопрос в том, почему "ничего хуже".

Это моё субъективное мнение подкреплённое практическим опытом. Мы регулярно пытались переползти на какой-нибудь фреймворк, чтобы избавиться от поддержки своих кастомных примочек, и Flask был наихудшим вариантом. Pyramid выглядел лучше всех, но до него дело так и не дошло.

Разверните, пожалуйста, если не трудно.

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

Вообще выбор фреймворка - та ещё тема.

Спасибо за вполне развёрнутый ответ. Pyramid - будем посмотреть.

Для простых вещей советую глянуть на hypercorn. Голый ASGI весьма притягателен, а если чего не хватает - так можно из starlette, например, понадёргать нужного. Хотя starlette вполне себе ничего, но у меня бзык на минимализм.

Я тоже люблю минимализм. Так что изучу ваши предложения с удовольствием.

посмотрите в сторону fastapi... Уже пару лет различной сложности проекты переношу. Кода всегда становится меньше и всё выглядеть начинает гораздо красивее

Зря вы так. Прекрасный инструмент, прекрасно выполняющий свою работу. Вкупе с DRF достаточно прозрачно и быстро собирается api для фронта

Он ещё живой?

Если погуглить, то flask по использованию вдруг оказывается даже немного популярнее django. Так что фраза престранная.

Почему? По-моему, это идеальный вариант для новичков. Из-за того что он очень простой, даже при полном отсутствии опыта можно быстро накидать веб-приложение. А из‑за того что он очень популярный, по нему есть куча материалов, в т.ч. на русском.Есть какая-то альтернатива?

а какой фреймворк сгодится для новичка?

Более того, там готов мега туториал 2024, в котором обсуждаются новые фичи в Flask 3 и новые же фичи нового релиза (версию не помню) Flask-SQLAlchemy.

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 для знакомства как установить
дальше уже идея описать как и что можно создать и описать доп решения и идеи

А где что-то вроде этого потерялось?

with app.app_context():
  db.create_all()

Или это из новой версии?

Я и говорю: фантазия не работает дальше "взять пример из туториала". Непонятно только, в чем смысл статьи тогда, если можно просто туториал взять.

Мой первый Hello World был как раз написан через Flask. Из плюсов он достаточно лёгкий и гибкий. Django в этом отношении проигрывает. Он более тяжёлый.

Ну блин, накидали никак не связанных кусков "примеров", а почему было не построить шаг за шагом мини-приложение с добавлением-редактированием-удалением пользователей и соответственно авторизацией, раз уж таблицу user сделали.

согласен с вами
в первой статье хотел описать как начать работать
и завести фреймворк чтобы он начал работать

дальше уже в планах описать дополнительные идеи как и что настраивать и описать

спасибо за ваш комментарий
учту дополнительную структуру шаг за шагом для сл статьи

На мой субъективный взгляд, проблема "статей про flask" в том, что полно hello world и чертовски мало чего-то более сложного. Или чего-то несложного, но прикольного (какие-то интересные частные случаи). Или то же самое про SQLAlchemy.

Начинающие питонисты, смотрите лучше на FastApi. Не нужен вам этот flask))

Fast Api подходит больше для уже дальнейшего развертывания фронта отдельно
и back на fast api

Flask больше дает возможности совместить фронт и бэк сразу
для тех кто только начинает думаю что фляск поможет быстрее развернуть сайт

Слушайте, конечно спасибо, но какой толк копировать страничку "quick start" и выдавать ее новичкам? В сети куча нормальных подобных инструкций и гайдов... Если Вы действительно работали и хотите чем то поделиться, так напишите о чем то действительно полезном и уникальном. Или это лучшие практики из вашего опыта?

quick start взял чтобы описать первую статью
дальше чтобы показать уже какие-то идеи и описать шаг за шагом что можно сделать как проект

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

Можно узнать какой считается нормальным?

Свои web приложения часто пишу на Django из-за админки, миграций из коробки, базовой защиты и DRF. Например что можно использовать если нужна админка?

Не понимаю людей, которые осуждают Flask. Как будто у самих за плечами не один написанный фреймворк. Он очень прост и минималистичен, соответственно подходит и для таких же задач. Он был, есть и будет. На нём написано множество простых продуктов. Да, он, конечно, не такой крутой как Django, но адекватные люди и не будут его использовать для написания сложных масштабируемых сайтов.

Не понимаю почему ругают статью, наверное просто работает принцип «всем не угодишь». Лично для меня всё супер - кратко, информативно, цельно. Отдельный плюс за чёткое описание понятий

Sign up to leave a comment.

Articles