我有一个flask应用程序,当我通过flask run
在本地运行CSS时会加载CSS,但当我将其上传到AWS Elastic beantalk时却不会加载。
css-test-app / application.py requirements.txt 应用/ 初始化 .py route.py 静态的/ 样式表/ style.css 模板/ index.html
我先设置export FLASK_APP=application.py
,然后再设置flask run
并将其部署到计算机上,然后再在浏览器中转到127.0.0.1:5000。
要将其上载到AWS Elastic beantalk上,我从app /,application.py和requirements.txt制作了一个zip文件,然后进行部署,该文件可以工作,但css文件除外。当我使用开发工具检查页面时,在源代码下它会在static / stylesheets / style.css中显示css文件的位置,但它为空。我在URL MyApp-env。********。us-west-2.elasticbeanstalk.com或mydomain.com上查看该网站
我的 init .py文件如下:
from flask import Flask
application = app = Flask(__name__)
from app import routes
app.static_folder = 'static'
application.py看起来像这样:
from app import application
我的模板index.html文件如下所示:
<html>
<head>
<link rel="stylesheet" href="{{ url_for('static', filename='stylesheets/style.css') }}" type="text/css" />
<title>{{ title }} - Microblog</title>
</head>
<body>
<h1>Hello, {{ user.username }}!</h1>
</body>
</html>
style.css文件为:
body {
color: purple;
background-color: #d8da3d }
如果我通过chrome的ctrl-(重新加载此页面图标)刷新页面或执行ctrl f5,则不会更改任何内容。
如果我使用ebcli ssh进入beantalk实例,则比在/ opt / python / current / app /下找到该应用程序的所有文件,而在/ opt / python / current / app / app中找到css文件/static/stylesheets/style.css,其中包含全部内容。
答案 0 :(得分:1)
在AWS中,您必须将静态文件的路径设置为app / static
在您的AWS控制台上,转到“配置”>“软件”>“修改”
向下滚动到“静态文件”。
您可能会在表的左侧,目录下的右侧看到/ static /,并提及app / static /
点击保存并重新加载您的应用。