2013-04-11 37 views
12

Tôi đang xây dựng một ứng dụng Django trong Python 3.3.1 sẽ được triển khai trên Heroku. Do hệ thống tập tin tạm thời của nó, Heroku không thể phục vụ các tệp tĩnh của ứng dụng từ hệ thống tệp cục bộ, vì vậy chúng cần phải được đặt ở nơi khác và Amazon S3 là nơi tôi muốn đặt chúng.Có chương trình phụ trợ lưu trữ Django tương thích Python3 cho Amazon S3 không?

Tôi đã tìm thấy một số hướng dẫn hữu ích (Deploying Django on Heroku, trong số những người khác), tất cả đều sử dụng ứng dụng django-storages và boto để thu thập các tệp tĩnh và lưu trữ chúng trên S3. Thật không may, công việc chuyển boto sang Python3 vẫn chưa hoàn thành. Có các nhà cung cấp lưu trữ S3 khác mà django-storages có thể làm việc với (Apache Libcloud hoặc thư viện Python S3 của Amazon đơn giản), nhưng bản thân kho-django cũng không chạy trên Python3.

Tôi cũng đã thấy các lệnh thêm một cuộc gọi tập hợp vào Procfile của ứng dụng Heroku, điều này đặt các tệp ở đâu đó mà ứng dụng Django có thể sử dụng, nhưng nó chậm triển khai; các tệp phải được thu thập và tải lên mỗi khi ứng dụng triển khai. Các dynos Heroku không phù hợp để phục vụ các tệp tĩnh, dù sao đi nữa, và cuối cùng tôi muốn lưu trữ dữ liệu người dùng, điều này sẽ yêu cầu một kho dữ liệu không phải Heroku như S3.

Có chương trình phụ trợ lưu trữ tương thích Python3 cho Django không phải là các bộ nhớ được cung cấp trong django-storages không? Hoặc tôi đang mắc kẹt với Python 2.7 trong thời gian này?

Trả lời

2

django-storages-p3 có vẻ đầy hứa hẹn. Hãy thử và cho tôi biết: D.

+1

Tôi đã quản lý để tải lên tệp từ Django bằng phiên bản này, vì vậy có vẻ như nó hoạt động cho đến nay. Đã phải cài đặt nó [thông qua repo trực tiếp, mặc dù] (https://github.com/coagulant/django-storages-py3) và [cài đặt một boto tương thích Py3] (http://stackoverflow.com/a/24725382/544059). – metakermit

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