用于Flask管理页面的Nginx静态文件



我在为flask管理页面提供静态文件时遇到问题。

admin = Admin(app, name='APPName', template_mode='bootstrap3')app.config['FLASK_ADMIN_SWATCH'] = 'Slate'

一切似乎都在localhost上工作,但当我将应用程序上传到服务器(ubuntu(时,引导模板就不再工作了。Flask管理员到静态文件的路径是http://127.0.0.1:5000/admin/static/bootstrap/bootstrap3/swatch/Slate/bootstrap.min.css?v=3.3.5在localhost上。在服务器上https://domainname.com/admin/static/bootstrap/bootstrap3/swatch/Slate/bootstrap.min.css?v=3.3.5但返回错误404。谁能给我指对方向吗。

我知道这可能来得晚了,但这里:

解决方案

更改第二行:

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意味着到达烧瓶的路径类似于admin/static/bootstrap/bootstrap4/Slate/bootstrap.min.css?v=4.2.1。这对Windows没有问题,但对Linux有问题。

Swatch主题位于flask_admin/static/bootstrap/bootstrapX/swatch/中,每个主题都位于自己的文件夹中,并且都是小写的(例如:ceruleancosmo等(。您的特定主题目录是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

相关内容

  • 没有找到相关文章

最新更新