我正在aws elasitc beantalk(Amazon Linux 2平台)中部署python3 flask应用程序。文件夹结构如下:
1 d
2 h
0 c
3 k
4 n
dtype: object
在模板文件中,静态资源的导入被污染为: 即JS文件:
|-app/
|-templates/
|-static/
| |-css/
| |-js/
|-app.py
在EB配置中,我定义了如下静态资源
但是问题是,这些资源没有加载并提供404。
即:<script type="text/javascript" src="{{ url_for('static', filename='js/jquery.js') }}"></script>
无法加载。但是,如果我尝试https://example.com/static/js/jquery.js
,它会起作用。
我做错了配置吗?
答案 0 :(得分:1)
基于评论。
此问题是由于覆盖 /static
路径引起的。在python EB环境中,/static
的路径是used by default,用于存储静态内容:
通过默认,Python环境中的代理服务器在 / static路径处为名为static的文件夹中的所有文件提供服务。例如,如果您的应用程序源在名为static的文件夹中包含一个名为logo.png的文件,则代理服务器通过subdomain.elasticbeanstalk.com/static/logo.png将其提供给用户。您可以按照本节中的说明配置其他映射。
解决方案是使用默认设置并删除覆盖。