Khi đến lúc triển khai, một cách thực hành tốt nhất là nén nội dung tĩnh (js, css) và chuyển chúng sang CDN. Có một vài ứng dụng Django mà xử lý một số khía cạnh (django-compressor
, django-pipeline
mỗi đến tâm), nhưng mỗi người đều có vấn đề riêng của họ. Ví dụ:Cách tốt nhất để phân phối nội dung cho CDN bằng Django là gì?
django-compressor
muốn tạo nội dung bên trong vòng lặp yêu cầu/phản hồi, ngay cả khi bật nén độc quyền ngoại tuyến.django-pipeline
không lưu trữ băm ở bất kỳ nơi nào, vì vậy nó lặp qua đường dẫn ghi tệp nén, regex khớp tên tệp, sắp xếp các đối tượng có thể và trả về mục cuối cùng trong danh sách. Hãy thử làm điều này từ một CDN! Gì?!
The (dường như logic) workflow đường ống dẫn Tôi đang tìm là:
- tài sản Compress, sử dụng băm của nội dung cho filename
- Stores những tên tập tin trong một bộ nhớ cache hoặc một module hoặc một cái gì đó có thể là dễ dàng được tham chiếu khi đến lúc hiển thị HTML.
Tôi không cần phải có mọi tệp tĩnh trên tất cả các nút front-end web của mình - chỉ có CDN.
Ngay bây giờ, tôi cảm thấy rằng tùy chọn tốt nhất của tôi là hỗ trợ hack bộ nhớ đệm tên tệp thành django-pipeline
, nhưng tôi đang mơ về giải pháp thả xuống cho việc này.
Tùy chọn tốt nhất của tôi ở Django cho điều này là gì? Có cái gì không?
Cảm ơn!