Bjornie, из коробки софт настроен так, что волноваться не о чем. Достаточно не ставить лёгкие пароли на БД/web-админку своего проекта/ssh (тут вообще без паролей желательно, ключи только) + обновляться регулярно (дыры находят, их закрывают) - и вы будете защищены не хуже остальных. Большего, я думаю, вам и не требуется в вашем случае с pet-проектом.
Не надо замену. Всё с pillow нормально.
Дополните ваш вопрос кодом, которым вы переворачиваете изображение, и примером изображения ДО и ПОСЛЕ поворота.
Неправильно - это когда ты сам пишешь "ответ" к своему вопросу, отмечаешь его решением, а ответ человека, который тебе помог, остался висеть где-то снизу.
Контейнер позиционируется как боевая единица, которой дозволено легко умереть и так же легко воскреснуть в новой ипостаси, без причинения какого-либо ущерба всей экосистеме вашего приложения.
Везде, где бы вы ни прочитали о том, как надо готовить СУБД в докере, речи не идёт о том, чтобы данные хранить внутри образа, коммитить их в слои и т.п.
В питоне отступы имеют значения. get_descriptive_name у вас просто функция, а не метод класса Car. Методом она станет тогда, когда вы поставите правильные отступы.
Finx, а вот, видимо, в этом и дело. Создавайте на каждую строку отдельную кнопку, которой присваивайте обработчик с нужным a1.
Либо, если попробовать сохранить вариант с 1 кнопкой, вам нужно написать такой обработчик, который будет, исходя из того, на какую именно кнопку нажали, лезть в таблицу и брать из нужной ячейки той же строки соответствующее значение a1
Boris19, ну т.е. постоянного хранилища нет, объекты живы только во время работы программы.
longclaps дал вам дельный ответ.
set использовать для этой цели самое то именно потому, что в нём очень дешёвая операция проверки наличия элемента.
В качестве идентификатора можете использовать натуральные данные (имя, путь к файлу, и т.п.), либо приводить эти натуральные данные к суррогатному виду (хэш).
classproperty - тут просто имеется ввиду свойство, объявленное в самом классе - оно будет принадлежать всем объектам этого класса, и вы будете иметь к нему доступ для проверки/записи туда новых данных.
Дмитрий, если у вас сейчас структура БД актуальна (все миграции были применены), а с миграциями творится чёрт знает что, то:
удалите локально все файлы миграций из своих приложений проекта
создайте локально их заново
отправьте код в репу, разверните на боевом сервере, сделайте руками migrate --fake
в дальнейшем, делайте миграции только локально, и каждый раз при деплое делайте migrate. Не надо БД синхронизировать дампами и sql-скриптами, если хотите спокойной разработки
А почему вы не отправляете другие поля, которые есть в форме? Там несколько hidden-полей, причём одно из них (name==lt), судя по всему, служит для защиты вот от таких вот скриптов.
Как минимум, вам нужно сначала предварительно получать страницу логина, брать из неё содержимое всех полей формы, подставлять свой логин и пароль, и уже тогда пробовать отправлять post-запрос.
WAT?