在 Flask Admin 的自定义视图中禁用缓存

Disable caching in custom views in Flask Admin

我想在显示一些图像的 Flask-Admin 面板中禁用 cahce。例如,我的数据库中有 1 张图像(实际上,只是图像的 uri)。如果我删除这张图片,然后上传一张新图片,缓存会显示已删除的图片。 为了逃避这一刻,我需要禁用缓存。但是,我也想在所有 Flask-Admin 页面上禁用它。

{% extends 'admin/master.html' %}

{% block head_meta %}
{{super()}}
    <meta http-equiv='cache-control' content='no-cache'>
    <meta http-equiv='expires' content='0'>
    <meta http-equiv='pragma' content='no-cache'>
{% endblock head_meta %}

我知道如果我将上面的代码保存为 index.html,它只适用于索引管理页面面板。 但是,正如我上面所说,我想禁用所有页面上的缓存。

找到了一些关于它的信息。如果你想编辑你的 CUSTOM 视图,你应该添加这些变量:

list_template = 'list.html'
create_template = 'create.html'
edit_template = 'edit.html'

其中 list.html 负责列出您的所有记录等。

此外,您应该创建模板,将所有代码附加到现有 Flask-Admin。就我而言,它看起来像这样:

{% extends 'admin/model/list.html' %}

    {% block head_meta %}
        <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
        <meta http-equiv="Pragma" content="no-cache" />
        <meta http-equiv="Expires" content="0" />
        {{ super() }}
    {% endblock head_meta %}

以上是在显示所有记录的页面上禁用缓存的示例