在flask admin中,添加保存新记录时的确认提示
In flask admin, add confirmation prompt when Save new record
我们的用户在各种 flask 页面中有通常的 CRUD 操作。
对于一种情况,创建操作可能是一个密集的过程,执行大量域逻辑,有时会意外创建项目。
我们的用户现在希望在单击“保存" 按钮。下一个响应将只是 Yes 和 No 按钮。
不清楚如何添加这个 - 我们是否遗漏了一些明显的东西?
覆盖特定视图的 Flask-Admin 创建模板,并向表单的 onSubmit
事件添加 JavaScript 确认。将确认添加到提交事件处理三个提交按钮; 'Save'、'Save and Add Another' 和 'Save and Continue'。
例如:
class UserView(ModelView):
create_template = 'create_user.html'
# ...
在 /templates/admin 文件夹中添加 html 文件 'create_user.html':
{% extends 'admin/model/create.html' %}
{% block tail %}
{{ super() }}
<script src="{{ admin_static.url(filename='admin/js/helpers.js', v='1.0.0') }}" type="text/javascript"></script>
<script>
(function ($) {
$('form:first').on('submit', function() {
return faHelpers.safeConfirm('{{ _gettext('Are you sure you want to save this record?') }}');
});
})(jQuery);
</script>
{% endblock %}
请注意,发行版中缺少 bug in Flask-Admin 1.5.3、helpers.js,您需要添加 safeConfirm
函数。
{% extends 'admin/model/create.html' %}
{% block tail %}
{{ super() }}
<script>
(function ($) {
function safeConfirm(msg) {
try {
var isconfirmed = confirm(msg);
if (isconfirmed == true) {
return true;
}
else {
return false;
}
}
catch (err) {
return false;
}
}
$('form:first').on('submit', function () {
return safeConfirm('{{ _gettext('Are you sure you want to save this record?') }}');
});
})(jQuery);
</script>
{% endblock %}
我们的用户在各种 flask 页面中有通常的 CRUD 操作。
对于一种情况,创建操作可能是一个密集的过程,执行大量域逻辑,有时会意外创建项目。
我们的用户现在希望在单击“保存" 按钮。下一个响应将只是 Yes 和 No 按钮。
不清楚如何添加这个 - 我们是否遗漏了一些明显的东西?
覆盖特定视图的 Flask-Admin 创建模板,并向表单的 onSubmit
事件添加 JavaScript 确认。将确认添加到提交事件处理三个提交按钮; 'Save'、'Save and Add Another' 和 'Save and Continue'。
例如:
class UserView(ModelView):
create_template = 'create_user.html'
# ...
在 /templates/admin 文件夹中添加 html 文件 'create_user.html':
{% extends 'admin/model/create.html' %}
{% block tail %}
{{ super() }}
<script src="{{ admin_static.url(filename='admin/js/helpers.js', v='1.0.0') }}" type="text/javascript"></script>
<script>
(function ($) {
$('form:first').on('submit', function() {
return faHelpers.safeConfirm('{{ _gettext('Are you sure you want to save this record?') }}');
});
})(jQuery);
</script>
{% endblock %}
请注意,发行版中缺少 bug in Flask-Admin 1.5.3、helpers.js,您需要添加 safeConfirm
函数。
{% extends 'admin/model/create.html' %}
{% block tail %}
{{ super() }}
<script>
(function ($) {
function safeConfirm(msg) {
try {
var isconfirmed = confirm(msg);
if (isconfirmed == true) {
return true;
}
else {
return false;
}
}
catch (err) {
return false;
}
}
$('form:first').on('submit', function () {
return safeConfirm('{{ _gettext('Are you sure you want to save this record?') }}');
});
})(jQuery);
</script>
{% endblock %}