2013-04-11 10 views
12

Buduję aplikację Django w Pythonie 3.3.1 do wdrożenia na Heroku. Ze względu na efemeryczny system plików Heroku nie może obsługiwać plików statycznych aplikacji z lokalnego systemu plików, więc muszą znajdować się gdzie indziej, a Amazon S3 jest tam, gdzie chciałbym je umieścić.Czy istnieje wsparcie dla pamięci Django zgodnej z Python3 dla Amazon S3?

Znalazłem wiele pomocnych samouczków (między innymi Deploying Django on Heroku), z których wszystkie korzystają z aplikacji django-storages i boto do zbierania plików statycznych i przechowywania ich na S3. Niestety praca nad przeniesieniem boto do Python3 jest nadal niekompletna. Istnieją inni dostawcy pamięci masowych S3, z którymi mogą pracować django-storages (Apache Libcloud lub prosta biblioteka Amazon S3 Python), ale django-storages również nie działa na Python3.

Widziałem również hacki, które dodają wywołanie kolekcjonerskie do pliku Procfile aplikacji Heroku, który umieszcza pliki w miejscu, w którym mogą być używane przez aplikację Django, ale spowalnia wdrażanie; pliki muszą być gromadzone i przesyłane przy każdym uruchomieniu aplikacji. Dyski Heroku i tak nie nadają się do wyświetlania plików statycznych, a ja w końcu chciałbym również przechowywać dane użytkownika, które będą wymagały magazynu danych innego niż Heroku, takiego jak S3.

Czy dla Django istnieje zaplecze zgodne z Python3, inne niż dostępne w magazynach Django? Czy na razie utknąłem w Pythonie 2.7?

Odpowiedz

2

django-storages-p3 wygląda obiecująco. Spróbuj i daj mi znać: D.

+1

Udało mi się załadować plik z Django przy użyciu tej wersji, więc wygląda na to, że działa. Musiał go jednak zainstalować [bezpośrednio przez repo] (https://github.com/coagulant/django-storages-py3) i [zainstalować boto zgodne z Py3] (http://stackoverflow.com/a/24725382/544059). – metakermit

Powiązane problemy