Python Flask-admin: flash не работает с разметкой - PullRequest
0 голосов
/ 29 марта 2019

В одном конкретном флеш-сообщении мне нужно использовать HTML-код в Flask-admin. Это безопасно, потому что это мое собственное сообщение. Я опубликую важный кусок кода. Я использую flask_admin.contrib.sqla.ModelView Следующий фрагмент кода не интерпретируется, это просто важный фрагмент кода, но вы можете легко протестировать его в своем собственном приложении. Пожалуйста, не спрашивайте меня, почему мне нужно сделать что-то подобное, я спрашиваю, потому что я пробовал несколько вещей, но ничего не получалось. Единственное, что работало, - это изменить flask-admin macro messages() и добавить фильтр safe, но я не хочу делать это в flask-admin. Любая идея, пожалуйста?

# override
def on_model_change(self, form, model, is_created):
    if something_is_wrong():
        raise CustomException(
            'Something in the <b>entity</b> was wrong. Please check: ' +
            '<ul><li><a href="#">this</a></li><li><a href="#">and this</a></li></ul>'
        )

# override
def update_model(self, form, model):
    try:
        return super(CustomView, self).update_model(form, model)
    except CustomException, ce:
        self.session.rollback()
        flash(Markup(ce.message), category='error')

        return False

1 Ответ

1 голос
/ 30 марта 2019

Переопределить шаблон, в котором отображается флеш-сообщение, и поместить его на место

{{message|safe}}
...