• Как отобразить ошибку во Flask, если она возникла при конекте к бд пользователю, при передаче данных из формы?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Добавьте в структуру ответа поле с флагом ошибки и текстовым пояснением.
    Обычно это на клиенте показывают как-то так: "Ой, что-то пошло не так, наша группа поддержки уже в курсе и мы делаем всё возможное, чтобы такое не повторялось. Попробуйте повторить эти действия позднее или обратитесь в нашу службу поддержки с вопросом через вот эту форму <ссылка на форму обратной связи>".
    Чтобы написанное не было ложью, нужно детально и тщательно залоггировать все обстоятельства, при которых возникла ошибка, вывести уведомление о проблеме на дэш-борд и в почту администрации сайта. По факту исправления проблемы можно написать клиенту в личный кабинет или на почту сообщение с извинениями, благодарностью за найденную проблему и уведомлением, что все исправлено и можно дальше пользоваться сервисом.
    Лишних стыдных подробностей о ваших внутренних косяках пользователю знать не нужно, никаких кодов или фраз тоже не требуется составлять для устного обращения пользователя в поддержку. Идеально, если поддержка сразу проасоциирует обращение и проблему через куки и будет в курсе случившегося при первом же обращении. Это выгладит для пользователя как забота и внимание к его проблеме с вашим сервисом.
    Ответ написан
    Комментировать
  • Как вставлять данные c помощью sqlalshemy из массива в бд?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    Для множественных связей тебе нужны:
    1. Таблица к которой ты привязываешь что-то.
    2. Таблица, которая хранит связи.
    3. Таблица, в которой ты хранишь то, что хочешь привязать.
    Как вариант ты можешь создать медиа-библиотеку, полностью управляемую твоим приложением, которое будет содержать ссылки на файлы, названия, обратную связь и, может расширение, права доступа и т.д. Или же просто ссылки на файл, таким образом получив массив с файлами в первую очередь тебе их нужно сохранить на диск. Не в БД. В БД храни только ссылки на файлы. И перебирая из каждой из них сформировать сущность, которую ты привяжешь к своей сущности обратной связи.

    Кроме того, ты можешь хранить их в виде PickleType, либо формировать ссылки в виде строки, которую ты сможешь разобрать и переписать.

    ИМХО, первый вариант оптимальнее, впрочем создает некоторые трудности при переносе базы, например. Я имею в виду есть записи в базе, но может не быть файлов, да и удаление файлов тоже придется руками писать.
    Ответ написан
    Комментировать
  • Запись в json файл и обновление python?

    laviol
    @laviol
    Кодер-разнорабочий
    Ну, вполне логичное поведение, учитывая, что Вы никак не разделяете запись, а тупо пишете post_data в качестве значения и в ключ 'COM-port', и в ключ 'TCP'.
    Для того, чтобы разделить запись, следует проверять значение post_data['type'], и в зависимости от того, что там, записывать в качестве значения соответствующего ключа в итоговом конфиге.
    Что-то аля:
    post_data = request.get_json()
    if post_data['type'] == 'com':
        to_json = {'COM-port': post_data}
    elif post_data['type'] == 'tcp':
        to_json = {'TCP': post_data}
    Ответ написан
    2 комментария
  • Номер телефона, как ссылка в telegram bot?

    deepblack
    @deepblack Куратор тега Python
    spoiler
    https://stackoverflow.com/questions/40590683/how-t...
    bot.send_message(
        chat_id,
        "Example text with a phone [+79991234567](tel:+79991234567)", 
        parse_mode='Markdown'
    )


    Сообщение должно быть < 200 символов, номер как ссылка только на мобильном устройстве.

    upd:

    Это работает

    Номер отправляю простым текстом5d47fef5ba3ba100526303.jpeg
    Ответ написан
    2 комментария