gpt4 book ai didi

python - 无法在 Elastic Beanstalk 上用 Bottle 加载静态文件

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:01 24 4
gpt4 key购买 nike

some help 之后,我使用 Elastic Beanstalk 运行了我的 Bottle 应用程序。好吧几乎 - 我仍然看不到任何静态文件。我已按照说明进行操作 here通过在目录 .ebextensions 中插入一个名为 python.conf 的文件,其中包含以下内容:

option_settings:
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "static/"

不幸的是,这没有用。我的文件位于/static 下的文件夹中(例如/static/js、/static/css 等)。在我的 Bottle 应用程序中,我根据答案 here 提供静态文件。 ,像这样:

@route('/static/:path#.+#')
def server_static(path):
return static_file(path, root='./static')

当我在本地运行时一切正常。有谁知道我做错了什么?我应该遵循不同的程序,因为我的静态文件在子文件夹中,还是因为我使用的是 Bottle 而不是 flask ?我知道 a similar question已经在这里询问 flask ,但没有答案(据我所知,这可能是一个完全不同的问题)。非常感谢,亚历克斯

最佳答案

我确信这不是最优雅的解决方案,但我通过将所有静态文件放入 S3 存储桶并在我的所有页面中使用它来解决这个问题。

我一开始并没有那么多静态文件,所以这没什么大不了的。我刚刚制作了 S3 存储桶 url 的变量:

S3Static = r'mystaticbucket.s3-us-west-2.amazonaws.com'

将它传递到我的 Bottle 模板,并更改链接:

<link rel="stylesheet" type="text/css" href = "/static/css/MarmoStyle.css" >

<link rel="stylesheet" type="text/css" href = "{{S3Static}}/static/css/Style.css">

(即刚刚在路径前添加了{{S3Static}})如果您像我一样在单独的 %included header 模板中使用静态文件,则必须像这样将 S3Static 变量传递给模板:

%include header.tpl S3Static=S3Static

仅此而已。我知道这对每个人来说都不是理想的解决方案,并且可能有更好的方法来做到这一点,但到目前为止它对我有用。谢谢,亚历克斯

关于python - 无法在 Elastic Beanstalk 上用 Bottle 加载静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16290098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com