【问题标题】:Pythonanywhere: Repository Flask app static files are not servedPythonanywhere:不提供存储库 Flask 应用程序静态文件
【发布时间】:2020-01-21 01:06:40
【问题描述】:

我已经投入时间来解决这个看似简单的问题,但问题似乎来自 Pythonanywhere 服务器,因为我已在 Gooogle App Engine 上成功运行了该应用程序。

我已经按照here 的说明设置了静态文件夹路径,我必须指出我所做的是: 例如,一个 CSS 文件预计会在 xxxxx.pythonanywhere.com/static/custom-css/abcdef.css 找到;
我将 URL 设置为:/static;
我将目录设置为:/var/www/repos/equimolar/EquimolarBlog/equimolar_blog/static

拜托,有人能指出我在无知中做错了什么吗?
同样,为什么在程序本身会处理静态文件位置时仍然需要手动设置它,毕竟它可以在 localhost 上完美运行,并且在其他平台(如 GAE)上不需要这种额外的瓶颈?

谢谢。

【问题讨论】:

    标签: flask pythonanywhere


    【解决方案1】:

    我已经解决了这个问题:

    问题是没有说明here的限制, 忘记你在代码中引用静态文件的方式,当没有从 pythonanywhere 上的应用仪表板显式映射时,静态文件总是期望在小写路径上。

    这就是我的意思: 比如说,从应用程序src='/static/Custom-CSS/Files/abc.css' 引用了一个文件 但是在磁盘上,其实是在/var/www/repos/equimolar/EquimolarBlog/equimolar_blog/static/Custom-CSS/Files/abc.css'

    pythonanywhere 所说的映射可能是:
    /static/ | /var/www/repos/equimolar/EquimolarBlog/equimolar_blog/static/
    不幸的是,文件是从/var/www/repos/equimolar/EquimolarBlog/equimolar_blog/static/custom-css/files/abc.css' 请求的,尽管应用程序本身已经处理了外壳。

    我使用的当前解决方案只是将我的文件夹名称更改为全部小写。

    【讨论】:

    • PythonAnywhere 开发者在这里——你确定不是小写链接的框架吗?我刚刚建立了一个静态文件映射/static/ -> /home/giles/mysite/static的网站,然后创建了一个文件/home/giles/mysite/static/Foo/Bar/something.txt。正如预期的那样,该文件可通过http://giles.pythonanywhere.com/static/Foo/Bar/something.txt 访问。
    猜你喜欢
    • 2018-07-21
    • 2020-05-23
    • 2023-03-06
    • 2015-06-04
    • 1970-01-01
    • 2019-02-19
    • 2016-12-23
    • 2016-10-26
    • 2017-04-17
    相关资源
    最近更新 更多