Tôi có một trang web Django được triển khai trên Heroku, sử dụng Whitenoise để phục vụ các tệp tĩnh.gzip không hoạt động ở Django với Whitenoise
Các tệp tĩnh hoạt động tốt nhưng Gzip không hoạt động theo các trang web khác nhau mà tôi đã sử dụng để kiểm tra nó (bao gồm các công cụ của google).
đây là mã trong các tập tin thiết lập sản xuất của tôi:
DATABASES['default'] = dj_database_url.config()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
ALLOWED_HOSTS = ['*']
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
file tĩnh của tôi cấu hình:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_URL = '/static/'
STATIC_ROOT = 'staticfiles'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
tập tin wsgi.py tôi
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sikumim.settings")
application = get_wsgi_application()
#HEROKU DEPLOYMENT
from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(application)
nguyên nhân có thể là gì?
Tôi chạy một vài lệnh gợi ý trong các ý kiến, trông giống như gzip không hoạt động:
➜ ~ curl -I -H "Accept-Encoding: gzip" http://127.0.0.1:8000/
HTTP/1.0 200 OK
Date: Mon, 17 Aug 2015 13:56:02 GMT
Server: WSGIServer/0.2 CPython/3.4.0
X-Frame-Options: SAMEORIGIN
Vary: Cookie
Content-Type: text/html; charset=utf-8
Set-Cookie: csrftoken=SsgKEp76HDhG5L7otWxqBJeMyb00Vp03; expires=Mon, 15-Aug-2016 13:56:02 GMT; Max-Age=31449600; Path=/
➜ ~ curl -I -H "Accept-Encoding: gzip" http://www.sikumia.co.il
HTTP/1.1 200 OK
Connection: keep-alive
Server: gunicorn/19.3.0
Date: Mon, 17 Aug 2015 13:57:37 GMT
Transfer-Encoding: chunked
X-Frame-Options: SAMEORIGIN
Vary: Cookie
Content-Type: text/html; charset=utf-8
Set-Cookie: csrftoken=23M5ODiFKRnU3fDYMe3j2Rn3dwtCsNMX; expires=Mon, 15-Aug-2016 13:57:37 GMT; Max-Age=31449600; Path=/
Via: 1.1 vegur
công cụ hiểu biết trang Google nói rằng gzip không hoạt động, cũng tất cả các công cụ khác đang nói cùng một điều – davegri
Hai câu hỏi - 1) là bạn đang kiểm tra cục bộ với curl (ví dụ: 'curl -i -H" Accept-Encoding: gzip "http: // localhost: 8000/path/to/static' và 2) bạn chạy ứng dụng trong Procfile như thế nào? Tôi đã nhận được gzip làm việc với 'gunicorn', nhưng không phải với' runserver' (không phải là cấu hình sản xuất của bạn). – bimsapi
Tôi xin lỗi tôi là một chút của một newbie, tôi đang chạy các ứng dụng trên heroku. chỉ có một dòng trong tập tin của tôi: web: gunicorn sikumim.wsgi Tôi sẽ thử lệnh curl – davegri