Код: Выделить всё
flash(Markup('This[/b] is a [b]WARNING[/b].'),category="warning")Это ПРЕДУПРЕЖДЕНИЕ >.
с выбранным цветом фона, связанным с предупреждающими флэш-сообщениями.
Я пытаюсь переместить приложение для Python 3.12.4, Flask 3.0.3 и MarkupSafe 2.1.5 (Jinja2 есть в версии 3.1.4, но Flask перешел на использование MarkupSafe напрямую, вместо импорта из Jinja2, поэтому я не думаю, что это актуально, Redis это 5.0.8). Однако, когда я пытаюсь перенаправить на страницу с этим набором флэш-сообщений, приложение неожиданно выходит из строя с внутренней ошибкой сервера.
Покопавшись глубоко в Flask, я вижу, что оно выдает ошибку. исключение Кодирование объектов типа Markup не поддерживается, когда он обрабатывает процесс_ответ и пытается сохранить сеанс https://github.com/pallets/flask/blob/m ... p.py#L1301 , и, похоже, это вызвано объектом разметки в списке _flashes. Если преобразовать разметку в строку, это не приведет к сбою, но сообщение будет отображаться как:
Код: Выделить всё
This[/b] is a [b]WARNING[/b].Есть ли способ отформатировать флэш-сообщение в текущем Flask, как мы это делали в более ранних версиях или я делаю что-то не так?
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-in-flask