Flask 管理视图中的呈现模板打印文本而不是 html 功能
Rendering template in Flask admin view prints the text instead of html functionality
我已经格式化了 Flask 管理视图中的一列 (app.py)。
class main_coursesView(ModelView):
def _user_formatter(view, context, model, name):
return render_template("template.html")
column_formatters = {
'image': _user_formatter
}
并且 template.html 文件包含以下代码。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<a href="#" id="upload_widget_opener">Upload images</a>
<script src="https://widget.cloudinary.com/global/all.js" type="text/javascript"></script>
<script type="text/javascript">
document.getElementById("upload_widget_opener").addEventListener("click", function() {
cloudinary.openUploadWidget({ cloud_name: 'zeboio', sources: [ 'local', 'url', 'camera', 'image_search',
'facebook', 'dropbox', 'google_photos' ], upload_preset: 'mdjqdwsf'},
function(error, result) { console.log(error, result) });
}, false);
</script>
</body>
</html>
因此,当我 运行 视图 (app.py) 时,在格式化列中打印 html 文件的内容。相反,我需要执行 html 文件中提到的事件。
使用 markupsafe 中的标记方法包装 render_template
输出。
from markupsafe import Markup
class main_coursesView(ModelView):
def _user_formatter(view, context, model, name):
return Markup(render_template("template.html"))
column_formatters = {
'image': _user_formatter
}
我已经格式化了 Flask 管理视图中的一列 (app.py)。
class main_coursesView(ModelView):
def _user_formatter(view, context, model, name):
return render_template("template.html")
column_formatters = {
'image': _user_formatter
}
并且 template.html 文件包含以下代码。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<a href="#" id="upload_widget_opener">Upload images</a>
<script src="https://widget.cloudinary.com/global/all.js" type="text/javascript"></script>
<script type="text/javascript">
document.getElementById("upload_widget_opener").addEventListener("click", function() {
cloudinary.openUploadWidget({ cloud_name: 'zeboio', sources: [ 'local', 'url', 'camera', 'image_search',
'facebook', 'dropbox', 'google_photos' ], upload_preset: 'mdjqdwsf'},
function(error, result) { console.log(error, result) });
}, false);
</script>
</body>
</html>
因此,当我 运行 视图 (app.py) 时,在格式化列中打印 html 文件的内容。相反,我需要执行 html 文件中提到的事件。
使用 markupsafe 中的标记方法包装 render_template
输出。
from markupsafe import Markup
class main_coursesView(ModelView):
def _user_formatter(view, context, model, name):
return Markup(render_template("template.html"))
column_formatters = {
'image': _user_formatter
}