我正在运行一个烧瓶应用程序,当我在本地运行它时工作正常。当我将它部署在弹性beanstalk上时,所有静态资产(css,js,img)都会返回404错误。
我在模板文件中使用jinja url_for
来调用静态资源(例如下面的代码)。
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/profile.css') }}">
我的目录结构如下所示:
/myapplication
/config
/webapp
/static
/css
style.css
profile.css
/js
profile.js
/templates
layout.html
profile.html
login.html
views.py
__init_.py
application.py
知道为什么这不会加载弹性beanstalk?
答案 0 :(得分:3)
一个可能的问题:Elastic Beanstalk会将您的本地权限与已部署的应用程序相匹配。您的文件可能是所有者/组可读/写,适用于本地测试,但外部用户无法在Web服务器上查看它们。
我遇到了同样的问题,但在我对所有静态文件运行chmod 664
之后,现在可以在我部署的应用中看到它们。