Python Flask-admin:flash 不能使用标记
Python Flask-admin: flash is not working with Markup
在一条特定的 flash 消息中,我需要使用 Flask-admin 中的 HTML 代码。它是安全的,因为它是我自己的信息。我将 post 重要的代码段。我正在使用 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
覆盖呈现 Flash 消息的模板并将其放置到位
{{message|safe}}
在一条特定的 flash 消息中,我需要使用 Flask-admin 中的 HTML 代码。它是安全的,因为它是我自己的信息。我将 post 重要的代码段。我正在使用 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
覆盖呈现 Flash 消息的模板并将其放置到位
{{message|safe}}