Tôi đã đọc và thử các ứng dụng hình thu nhỏ khác nhau cho Django. Đây là những yêu cầu:Django dễ dàng tạo hình thu nhỏ và sự khác biệt về hình thu nhỏ sorl
Tất cả các hình thu nhỏ được tạo ra phải được lưu trong một cái xô S3 tách biệt với hình ảnh ban đầu, tức là riêng biệt storage class
Khi dụ hình ảnh bị xóa, các tập tin hình ảnh ban đầu cùng với tất cả hình thu nhỏ được tạo cũng phải xóa cũng như
Giảm tối thiểu hiệu suất kém hiệu quả, ví dụ: Tìm nạp url của hình thu nhỏ để tuần tự hóa trong DRF không nên xem trong thùng S3 để xem liệu nó có tồn tại hay không, v.v.
VersatileImageField không thực hiện yêu cầu đầu tiên. ImageKit không đáp ứng yêu cầu thứ hai. Yêu cầu thứ ba là nơi tôi bối rối nhất; Tôi đang cố gắng để thông báo cho mình về các phương pháp hay nhất nhưng thông tin bị phân mảnh và tôi không tự tin đưa ra quyết định dựa trên những gì tôi đã học được từ trước đến nay.
Từ những gì tôi đã đọc, ấn tượng của tôi là hành vi hiệu quả nhất sẽ là như sau:
- tạo hình thu nhỏ ngay khi tiết kiệm và cho rằng nó luôn tồn tại
- để truy cập thumbnail, tạo ra URL dựa trên hình ảnh ban đầu của tên tập tin và hình thu nhỏ kích thước/chất lượng, vì chúng ta biết điều đó chắc chắn tồn tại
- post_delete sẽ xóa tất cả hình thu nhỏ và tập tin gốc
Tôi muốn được quan tâm nhiều nhất đến việc tìm hiểu sự khác biệt trong cách tiếp cận mà hình thu nhỏ dễ dàng và hình thu nhỏ sorl chụp (nếu chúng phù hợp với quy trình tôi đã trình bày ngắn gọn ở trên hoặc nếu chúng có hiệu quả hơn) và lợi thế/bất lợi trong mỗi phương pháp luận của họ.
Bạn giải quyết vấn đề của mình bằng cách nào? – wiesson
@weisson Tôi đã thử cả ba ứng dụng này, tất cả đều không hoàn hảo và quá có ý kiến (không có cách nào khác để đi về nó). Tôi đang sử dụng hình thu nhỏ phía máy khách với pica.js. Các hình ảnh blob được tải lên trực tiếp đến S3, không có ImageField hoặc gối cần thiết. – dtgq