烧瓶-静态资产被推到弹性beanstalk时返回404错误
作者:互联网
我正在运行一个Flask应用程序,当我在本地运行该应用程序时,它可以正常运行.当我将其部署在弹性beantalk上时,所有静态资产(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
知道为什么它不会在弹性beantalk上加载吗?
解决方法:
一个可能的问题:Elastic Beanstalk将您的本地权限与部署的应用程序匹配.您的文件可能是所有者/组可读/可写的,这对于本地测试而言很好,但是外部用户将无法在Web服务器上查看它们.
我遇到了同样的问题,但是在所有静态文件上运行chmod 664之后,它们现在在我已部署的应用程序中可见.
标签:amazon-web-services,jinja2,flask,elastic-beanstalk,python 来源: https://codeday.me/bug/20191119/2035656.html