gpt4 book ai didi

Python WhiteNoise 在 Flask 应用程序中不是 gzip 压缩

转载 作者:行者123 更新时间:2023-11-28 17:06:44 26 4
gpt4 key购买 nike

我在我的 Flask/Python3 应用程序中使用了 WhiteNoise,其中 gunicorn 作为 Web 服务器,如下所示:

from whitenoise import WhiteNoise

app = Flask(__name__, static_folder='static')
app.wsgi_app = WhiteNoise(app.wsgi_app, root='static/')
app.wsgi_app.add_files(app.static_folder)

我什至尝试在 Flask object 中创建 static_folder 并将其添加到其他 WhiteNoise 文件中,但这也不起作用。它编译得很好,但是当我这样做时:

curl -i -H "Accept-Encoding: gzip" https://my-homepage/static/css/my.css

我收到以下回复:

HTTP/1.1 200 OK
Connection: keep-alive
Server: gunicorn/19.8.1
Date: Wed, 23 May 2018 09:53:38 GMT
Content-Length: 50162
Content-Type: text/css; charset=utf-8
Last-Modified: Wed, 23 May 2018 09:51:21 GMT
Cache-Control: public, max-age=43200
Expires: Wed, 23 May 2018 21:53:38 GMT
Etag: "1527069081.0-50162-130551313"
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000
Via: 1.1 vegur

您可以看到 Content-Encoding: gzip 不存在。我错过了什么?

最佳答案

经过几次尝试,我找到了解决方案。看来 WhiteNoise 文档有点过时了,没有提到所有内容。

我改变了行:

app.wsgi_app = WhiteNoise(app.wsgi_app, root='static/')

到:

app.wsgi_app = WhiteNoise(app.wsgi_app, root=os.path.join(os.path.dirname(__file__), 'static'), prefix='static/')

首先,prefix参数是必需的(文档中没有提到)而且Flask应用程序不知道如何处理'static/' 路径因此必须提供绝对路径。

关于Python WhiteNoise 在 Flask 应用程序中不是 gzip 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50485530/

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