【问题标题】:Nginx Static files for Flask Admin PageFlask 管理页面的 Nginx 静态文件
【发布时间】:2022-04-06 05:09:20
【问题描述】:

我无法为烧瓶管理页面提供静态文件。

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 在本地主机上。 在服务器上它的 https://domainname.com/admin/static/bootstrap/bootstrap3/swatch/Slate/bootstrap.min.css?v=3.3.5 但它返回错误 404。 谁能指出我正确的方向。

【问题讨论】:

    标签: nginx flask


    【解决方案1】:

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

    解决方案

    改变你的第二行:

    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/ 中,每个主题都位于自己的文件夹中,并且全部小写(例如: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
    

    【讨论】:

      猜你喜欢
      • 2021-05-12
      • 2018-04-23
      • 2018-08-26
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多