2013-07-18 54 views
7

Tôi đang triển khai dự án django trên Heroku, nó hoạt động tốt, nhưng trong django admin, khi tôi đang cố gắng để tải lên hình ảnh tôi đã nhận lỗi:Heroku dự án django read-only hệ thống tập tin

OSError at /admin/blocks/block/add/ 

[Errno 30] Read-only file system: '/home/goldwedd' 

Trả lời

8

Đây là thiết kế bởi.

Your app is compiled into a slug for fast distribution by the dyno manager. The filesystem for the slug is read-only, which means you cannot dynamically write to the filesystem for semi-permanent storage. The following types of behaviors are not supported:

  • Caching pages in the public directory
  • Saving uploaded assets to local disk (e.g. with attachment_fu or paperclip)
  • Writing full-text indexes with Ferret
  • Writing to a filesystem database like SQLite or GDBM
  • Accessing a git repo for an app like git-wiki

https://devcenter.heroku.com/articles/read-only-filesystem

Nếu bạn muốn tải lên các tập tin, bạn cần phải làm như vậy để S3 hoặc bất kỳ các backends lưu trữ khác được hỗ trợ bởi django-storages.

0

Có, bạn không thể tải lên tệp phương tiện tại heroku. Chỉ thông qua git, bạn có thể triển khai mọi thứ và nếu bạn triển khai các tệp tĩnh hoặc phương tiện, chúng sẽ có sẵn với một số cách giải quyết.

Để tải lên tệp trực tiếp, bạn nên cân nhắc sử dụng dịch vụ bên ngoài như Amazon S3. Có một thư viện tuyệt vời cho django để đối phó với nó (nó cũng được đề xuất bởi trang web dev heroku, theo như tôi nhớ): django-storages

Các vấn đề liên quan