• Django внешние данные, как передавать в шаблон и отрисовывать?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А в чем проблема передать все данные в виде списка кортежей или словарей в контекст? Вы можете делать любое выражение или значение из записи в условии форматирования. Обычно от этого условия выбирают тот или иной стиль для строки. Что именно не понятно? Привелите текст шаблона, например, вашего.
    Ответ написан
  • Искривлённый вывод в файле json?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Всё у вас тут нормально кроме неправильных ожиданий. У вас сериализатор выдаёт валидный json, причем с форматированием, а не одной строкой. Ничего другого вы от него не получите. Если вам нужен какой-то другой вывод где-то, то делайте для этого другой сериализатор, или делайте шаблон и рендерите его с этими данными в контексте в текст или html.
    Вы запросили json и получили его. Какой есть, такой и получили. Другого нет. Чего вы ждёте от него?
    Ответ написан
    Комментировать
  • Как сделать миграции в django проекте на GitLab?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вопрос похоже поставлен некорректно.
    На гитлабе хранятся только исходники. Там не надо выполнять миграции.
    Создать миграцию - это сделать файл миграции, который будет преобразовывать БД.
    Выполнить миграцию - это применить логику этого файла к конкретной БД.
    Выполнять миграцию вы можете на любой машине, но подключаться при этом должны к конкретной БД на которой хотите применить эту миграцию.
    Обычно к какой БД подключаться указывается в настройках.
    Если у вас есть продакшн-сервер, на котором запущен проект, то миграции делаются (выполняются, применяются к БД продакта) при деплое (релизе) очередной ревизии. Обычно это происходит после успешного слияния текущей рабочей ветки в релизную.
    Есть такой механизм, который называется CI\CD. Он отвечает за обнаружение нового коммита в релизной ветке, сборку продукта (докер-образов, например) и выкатку (остановку старой и запуск на проде новой версии продукта). При этом настроен автоматический запуск миграций.
    Ответ написан
    Комментировать
  • Покупка сайта (движок)?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Человек продает полностью готовый сайт, наполненный своим контентом.

    Человек продаёт полностью готовый дом с мебелью.

    Могу ли купить у него этот сайт с движком, без контента, добавить свой контент и подключить к своему домену?

    Могу ли купить у него этот дом с фундаментом, но без мебели, занести свою мебель, и повесить на нём свою табличку?


    И сможет он потом этот же сайт продать кому-то ещё?

    А может он потом продать этот дом кому-то ещё?


    Какие подводные камни и риски?


    - Похоже вы не разбираетесь в вопросе совсем, а значит вас могут обмануть по любому из пунктов.
    - Может ли жулик продать Кремль не очень умному человеку? Думаю да. Имеет ли смысл и законную силу такая сделка? Риторический вопрос.
    - На каком движке сайт - не ясно из вопроса.
    - Кто и за какие деньги будет администрировать это сайт - не понятно.
    - Есть ли у "движка" вообще инструменты для управления контентом? Может быть это самопальный движок, или там нет движка вовсе и весь контент отрендерен в статике и всё выдаётся за CMS. Может быть там тильда, и движок вы не купите. А может быть движок и так открытый и бесплатьный. А может быть его кастомизировали так, что в нём теперь черт ногу сломит и вы не разберётесь.

    Мой вам совет: наймите человека, который разбирается в вопросе и сможет выяснить всё необходимое вам у продавца на правильном языке, и не позволит себя обмануть.
    Ответ написан
    8 комментариев
  • SQLite не хочет добавлять данные, введенные пользователем в тг боте в базу данных, что делать?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    cur.execute(f'INSERT INTO result(name) VALUES ({data["Name"]})')

    Так нельзя подставлять параметры в SQL-запрос по ряду причин. Ваша ошибка из-за отсутствия кавычек при такой подстановке, но даже если поставить кавычки в форматную строку так делать нельзя. Найдите любой простой отдельный работающий пример вставки в бд с передачей параметра и посмотрите. Таких в сети миллион. Можно ещё погуглить как правильно передавать параметры в sql-запос. а как неправильно и почему.
    Ответ написан
    Комментировать
  • Почему файлы .idea не игнорируются, несмотря на добавление в .gitignore в PyCharm?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    • .git - это не какой-то временный каталог, его нельзя удалять. Там все исторические и настроечные данные вашего репозитория.
    • После внесения изменений в .gitignore следует нажимать кнопочку обновления в заголовке дерева файлов в IDE.
    • Если у вас нет репозитория в каталоге (нет ".git" фала), то чего вы ждёте от IDE? Именно GIT игнорирует файлы, указанные в .gitignore.
    • .gitignore проекта должен лежать в корне проекта.
    • Файлы, которые уже добавлены для отслеживания в гит и подпадают под одну из масок игнорировапния всё раво не будут проигнорированы. (не ваш случай но просто для понятности)
    • Зачем вы .gitignore положили в .idea? Надо понимать, что .gitignore может лежать и тут, но он в таком случае не заносится обычно под контроль версий.


    Вот меры для понимания:
    1. Убедитесь, что у вас есть репозиторий в каталоге проекта (есть .git каталог). Лучше склонируйте репозиторий заново.
    2. Разместите .gitignore в корне проекта и добавьте его под контроль версий, сделайте коммит.
    3. .idea/.gitignore должен содержать только те пути , которые должны игнорироваться только на вашем компьютере, а не на компьютерах других людей, которые работают с этим репозиторием.
    4. Чтобы исключить какие-то другие непонятности - сделайте чистый простой пример: создайте новый чистый репозиторий, добавьте в его корень .gitignore и пару файлов, которые должны быть под контролем версий. Откройте проект в ide и убедитесь, что создан каталог .idea. Убедитесь, что он есть в .gitignore и его файлы не показываются IDE в списке не добавленных в индекс.
    Ответ написан
  • Как заполнить таблицу excel?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Начать нужно с декомпозиции вашей задачи. Разбейте её на более простые подзадачи и решайте их по отдельности.
    Попробуйте решить вашу задачу для одного наименования. Потом решайте отдельно задачу как брать входные данные из таблицы, потом решайте как записывать результаты в таблицу.
    Это уже три отдельные задачи из совершенно разных областей и тем. Да, все три по отдельности и всю задачу в целом способен решить ИИ на текущем этапе. Но вы пришли не к ИИ, а на этом ресурсе есть правила. Здесь нельзя постить задания, только конкретные вопросы.
    Ответ написан
    2 комментария
  • Как создать exe приложение на macOS?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Нужно прописать в setup.py конфигурации для py2exe и py2app в зависимости от текущей платформы.
    Как кросс-сборку сделать я не знаю, но можно поднять винду в virtualbox и сборку под винду запускать из-под винды. Например по ssh.
    Ответ написан
    Комментировать
  • Сколько датчиков на "замыкание-размыкание" типа геркона можно подключить на ардуино?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Есть проводная линия, может быть в коротком замыкании либо разорвана, на подобии геркона. Сколько можно датчиков поключить к ардуино для отслеживания состояния линии?


    Если датчики нужно именно дешевые, а линия только одна, без цифрового интерфейса типа 1-wire или 485, то...
    В общем? Как я понял, нужно именно "понимать" какой конкретно датчик замкнуло (или разомкнуло).
    Если линия дискретная, то есть либо замкнута, либо разомкнута, то всего один датчик.
    Если сделать линию с двуполярным питанием и добавить диоды к герконам, то можно отслеживать два датчика.
    Но можно подключить линию к АЦП и разместить вместе с герконами резисторы с номиналами из бинарного ряда. Типа 1,2,4,8,16 и т.д. килоом, например.
    Так по общему сопротивлению линии можно отслеживать много датчиков. Важно, чтобы резисторы сильно отличались по сопротивлению от сопротивления проводов.
    Количество датчиков будет зависеть от точности АЦП и того, насколько много номиналов резисторов вы сможете подобрать из ряда, соответствующего геометрической прогрессии, приведенной в примере выше.

    Короче, для 41 датчика не хватит точности АЦП.
    Придётся 1-wire использовать. Её должно хватить
    Ответ написан
    Комментировать
  • Является ли количество проектов в портфолио фактором ранжирования сайта?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Немного раскрою для ясности мысль, которую в ответе упомянул Алексей Уколов.
    В поиске не нашёл информации, является ли это коммерческим фактором ранжирования или чем-то подобным.

    Нельзя публиковать детально факторы, влияющие на ранжирование и алгоритмы, потому что эта информация тут же будет использована со злоупотреблением для накрутки рейтинга с целью подняться выше в выдаче.
    Это обесценивает механизм ранжирования, позволяя всякому СЕОшному хламу и спаму забивать выдачу. Это не нужно ни поисковику, ни конечному пользователю, ни добросовестному веб-мастеру. Это гонка глупости. Не надо так делать.

    Поскольку четких критериев по описанным выше причинам вам никто не скажет, нужно руководствоваться здравым смыслом. Подумайте что вам лично надо от поисковой выдачи. Что вы ищете, что ищет ваша целевая аудитория. Поисковик заинтересован давать пользователям то, что они ищут. А вы заинтересованы, чтобы к вам на сайт приходила ваша целевая аудитория. Вам скорее всего не нужен пустой трафик людей, которые попали к вам по ошибке.
    В общем, хорошо делай - хорошо будет. Надо делать как надо, а как не надо делать не надо.
    Ответ написан
    Комментировать
  • Логирование показаний с датчиков в РФ?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    https://narodmon.ru/

    Не знаю насколько он вам подойдёт по требованиям.
    Ответ написан
    1 комментарий
  • Как с Linux перейти обратно на Windows?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    План такой.
    1. Качаешь iso-образ с виндой с какого-нибудь рутреккера.
    2. Гуглишь как записать загрузочную виндовую флешку для инсталляции из под линукс.
    3. Делаешь по инструкции (если не получится - приходишь сюда со ссылкой на инструкцию и сообщениями об ошибках).
    4. Грузишься с флешки, ставишь винду разрешив её использовать всё пространство диска одним разделом.
    5. Ставишь там дрова всякие, и прочее, ну это вам виндузятникам виднее че делать.


    Если надо прям готовую индивидуальную инструкцию чтоб тебе кто-то написал именно персонально для тебя, то это к фрилансерам. Тут отвечают на вопросы, а не решают за людей проблемы.
    А если серьёзно, то следовало бы остаться на линуксе=) Винда ужасна.
    Ответ написан
    3 комментария
  • Как используя ssh удалить из php файлов определённые строки вирусного кода?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Не надо так делать. Если ваш сервер заражен, а вы даже системы контроля версий не используете, то у меня для вас плохие новости. Гарантированно вычистить вирус у вас не получится. Останавливайте сервер, делайте бэкап всей файловой системы, несите это профессионалам. Они удалят вредоносный код и объяснят как пользоваться git.
    Если всё как вы говорите, то вредоносный код уже мог захватить кучу других мест в системе, которые вы не заметите.
    Ответ написан
    Комментировать
  • Почему не добавляется id пользователя из телеграм бота в sqlitestudio?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Похоже ваш лог не соответствует коду. Посмотрите где вызывается add_user. Там обрабатывается исключение IntegrityError, но оно жеперехватывается и не рерайсится в самой функции add_user. Это значит, что строка
    logging.info(f"Пользователь {message.from_user.id} уже существует.")

    не может быть исполнена.
    add_user у вас вообще не бросит IntegrityError. Возвращаемое значение False никак не обрабатывается.
    Но какие-то щдругие исключения вы не пытаетесь поймать и залогировать. Нужно логгировать все исключения.
    В общем, нужно больше логов и аккуратнее с обработкой исключений.

    Вообще, если что-то идёт не так, нужно сразу и обязательно падать и детально выдавать инфу об ошибке.
    Ответ написан
  • Как можно ускорить Скачивание с помощью telethon?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Можно попробовать выставить чанк максимального размера, купить премиум аккаунт или почитать вот в документации есть любопытное место:
    https://docs.telethon.dev/en/stable/modules/client...
    Ответ написан
    Комментировать
  • Как синхронизировать 2 Gitlaba по расписанию?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А в чем, собственно, вопрос?
    Сделать баш-скрипт, который будет ходить по всем репозиториям и делать fetch для каждого.
    Скрипт можно запускать по крону.
    Автору вопроса нужно. чтобы ему написали этот скрипт? Или он не знает как пользоваться cron? Где автор вопроса искал ответ до того, как задал вопрос тут? Может быть он не так формулировал свой вопрос гуглу? Так с этого надо было начать, тут бы подсказали что он делает не так.
    Ответ написан
    8 комментариев
  • Можно ли сравнить большие массивы по частям?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А зачем вам это делать частями? Что вы хотите этим добиться?
    Ваша задача имеет сложность О(N) и не представляет никакой сложности, просто двигайтесь двумя курсорами синхронно по массивам и всё.
    Ответ написан
    4 комментария
  • Как обойти ошибку сервера Telegram при использовании метода answer_photo?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Чтобы отредактировать сообщение с фото нужно использовать edit_media, а не edit_text
    Ответ написан
    8 комментариев
  • Не фильтрует новости в телеграм боте на python?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Ответ прост. Нужно, и это, кстати проще всего, сделать свой новостной сайт с новостями и постить в боте ссылки на сообщения в нём. Ну или извлекать не только ссылки, картинки и заголовки новостей, а целиком контент новости в парсере, и публиковать их без ссылок.
    Ответ написан
    Комментировать