Tôi đã cố gắng thiết lập MEDIA_URL cho ứng dụng Heroku của mình, hiện đang phân phát tệp tĩnh qua STATIC_URL từ Amazon S3. Các tệp tĩnh đang hoạt động tốt, nhưng khi tôi cố gắng thêm MEDIA_URL ngoài STATIC_URL hiện tại, các trang không còn hiển thị và ứng dụng ngừng hoạt động.Cài đặt MEDIA_URL cho ứng dụng Django Heroku, Amazon S3
Các thiết lập hiện tại là:
AWS_STORAGE_BUCKET_NAME = 'bucketname'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL
AWS_ACCESS_KEY_ID = 'KEY'
AWS_SECRET_ACCESS_KEY = 'SECRET_KEY'
Khi tôi thêm:
MEDIA_URL = S3_URL
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
gây vấn đề này. Cụ thể, MEDIA_URL có vấn đề khi DEFAULT_FILE_STORAGE bị xóa, nó vẫn có cùng một vấn đề. Nhưng tôi đang cố gắng xác định cách tốt nhất để phân phát phương tiện đã tải lên của người dùng thông qua việc này không thành công.
Nếu bất kỳ ai có bất kỳ thông tin chi tiết nào tốt nhất để đạt được điều này, nó sẽ được đánh giá cao nhất.
tôi đã kết thúc chỉ đặt DEFAULT_FILE_STORAG, trong đó loại công trình nửa. Một số phương tiện truyền thông sẽ trực tiếp đến Amazon S3 (hình ảnh do người dùng gửi) trong khi các nội dung khác thì không. Tuy nhiên, hình ảnh sử dụng sorlthumbnail hoàn toàn thất bại. Cách của bạn có thể hoạt động. –
Tôi dành nhiều thời gian hơn cho việc này và tôi đã tìm ra cách hoạt động tốt: Tôi đã sử dụng [ứng dụng nhỏ này] (https://github.com/jamstooks/django-s3-folder-storage) cho phép bạn có một cách tĩnh và một thư mục media trong thùng S3 của bạn. Hy vọng rằng sẽ giúp! – tiwei
Làm thế nào điều này đối phó với an ninh? Không phải tất cả các tệp đều được công khai? – citynorman