我知道这可能来晚了,但在这里:
解决方案
改变你的第二行:
admin = Admin(app, name='APPName', template_mode='bootstrap3')
app.config['FLASK_ADMIN_SWATCH'] = 'slate' # This line: 'Slate' to 'slate'
上下文
我遇到了和你一样的问题。就我而言,我的配置文件包含以下内容:
# Flask Config
FLASK_ADMIN_SWATCH: str = "Superhero"
在本地工作,但在部署到运行 CentOS 的 EC2 机器上时没有,我得到了 404。
我在本地运行 Windows 和基于 Linux 的远程计算机。我打赌你也是。 Windows 不区分大小写,而 Linux 区分大小写。
将FLASK_ADMIN_SWATCH 变量设置为Slate 意味着到达flask 的路径类似于admin/static/bootstrap/bootstrap4/Slate/bootstrap.min.css?v=4.2.1。这对 Windows 没有问题,但对 Linux 有问题。
Swatch 主题位于 flask_admin/static/bootstrap/bootstrapX/swatch/ 中,每个主题都位于自己的文件夹中,并且全部小写(例如:cerulean、cosmo 等)。你的具体主题目录是flask_admin/static/bootstrap/bootstrapX/swatch/slate/。
Windows 将尝试解析 bootstrap/bootstrap4/Slate/bootstrap.min.css?v=4.2.1 并成功,因为它不关心 Slate 的大小写,但 Linux 会,这就是它失败并最终返回 404 的原因。
# These paths are equivalent for Windows, but not for Linux.
bootstrap/bootstrap4/Slate/bootstrap.min.css?v=4.2.1
bootstrap/bootstrap4/slate/bootstrap.min.css?v=4.2.1