Size: a a a

2021 November 14

AT

Alex Ted in Python Flask
"А во фласке люди часто своего метапрограммирования тащат на проекты?"
Чё?
"Какие вообще шаблоны или паттерны используются вместе с фласком?"
Чаще всего Фабричный метод, Команда, Цепочка обязанностей, Стратегия, Состояние, Одиночка. Остальные намного реже
источник

Q1

Qwerty 123 in Python Flask
источник

T

Tishka17 in Python Flask
Ну кстати, фабричный метод не так часто юзаю. Фабрики - регулярно. Одиночку стараюсь избегать ибо нефиг
источник

DK

Dima K in Python Flask
А какие-то Dependency Injection есть в питоне вообще? Применимые к фласку
источник

T

Tishka17 in Python Flask
ручками через конструктор
источник

T

Tishka17 in Python Flask
ну или через g раз фласк
источник

1K

1 Kosov in Python Flask
можно inject юзать
источник

T

Tishka17 in Python Flask
я плохо помню, что я о нем думаю. Это не тот, где с помощью магии проебали всю идею DI?
источник

1K

1 Kosov in Python Flask
источник

1K

1 Kosov in Python Flask
хз я не фанат di
источник

1K

1 Kosov in Python Flask
видел один раз проект где он использовался и проект ел достаточно много оперативы (300мб при старте обычной апишки на фласке) и работал достаточно медленно

лень было выяснять связано ли это с этим inject, я просто переписал все, но заставляет задуматься
источник

1K

1 Kosov in Python Flask
ну и плюс неявности в проект добавляет, да
источник

AT

Alex Ted in Python Flask
python-dependency-injector
источник

E

EightShift in Python Flask
Это какая-то дико сложная штука. Чёт почитал и нихрена не понял(
источник

Pavel Павлик in Python Flask
Я вот им пытался пользоваться, но когда дошел до ресурсов, то все желание пропало.
В каждой функции, где ты используешь этот ресурс, нужно писать Closing зачем-то (хотя как бы фреймфорк и так знает, что это ресурс).
Если ты забудешь написать, то ресурс не будет закрываться.
И самое главное, если функция выкинула исключение, то ресурс закрыт не будет. Я не понимаю, как можно было так сделать, и как после таких вещей им можно пользвоаться.

Есть dependency, которые нужно всегда передавать при создании инстанса контейнера, но нет провайдера, который бы создал объект один раз при иницилизации контейнера и все. Есть синглтон, который будет при каждом вызыве проверять, создавался ли объект или нет, и если нет, то создавать его, что мне кажется пустая трата процессорного времени. То есть, простой запуск приложения — еще не гарантия того, что конфигурация правильная и т.д. Конечно, это решается тестами, но зачем ввели синглтон, с ленивым созданием объекта, вместо провайдера, который создает объект при иницилизации контейнера, мне непонятно. А у меня вот было, что большая часть кода — это как раз синглтоны.

Вишенка на торте — это то, что провайдер синглтона по дефолту непотокобезопасный. Я вообще не представляю, зачем так нужно было делать. На питоне пишут обычно либо веб-приложения, либо какие-то скрипты, сомневаюсь, что каким-либо скриптам нужен будет DI, а вот все веб-приложения работают конкурентно. И почему вдруг так получается, что провайдеры непотокобезопасны?
источник

ES

Evgeny Skotarenko in Python Flask
Добрый день. Подскажите, пожалуйста, как сохранить это имя  'رضایی'} в MySQL? Пытаюсь это сделать в db.Column(db.String(200)). Надо ли вонвертировать в байты и сохранять в байтах а потом декодировать?
источник

AT

Alex Ted in Python Flask
В чём конкретно проблема - не сохраняется строка?
Какая кодировка используется?
источник

ES

Evgeny Skotarenko in Python Flask
это именаю Часть идёт латиницей. Часть арабской вязью. Строки беру из json. Для соединения с ДБ использую 'mysql+pymysql://root:root@db/main?charset=utf8mb4'
источник

AT

Alex Ted in Python Flask
какая ошибка то по факту
источник

AT

Alex Ted in Python Flask
в самой бд какой тип энкодинга был установлен при создании?
источник