Ahoj,
Konfigurace projektu:
* Django 1.8
* django-storages 1.5
* DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
Soubory, uploadované uživateli jsou tedy na S3 a pokud zavolam obj.image.path, tak samozřejmě dostanu výjimku NotImplementedError: This backend doesn't support absolute paths.
Pro zobrazení na webu používám obj.image.url, ale já potřebuju soubor (obrázek) taky fyzicky na serveru proto, abych ho mohl vložit do PDFka (generované LaTeXem). Měl by někdo nápad, na nějaké elegantní řešení?
Mě napadly dvě možnosti:
1) Implementovat metodu path tak, aby soubor z S3 stáhla, uložila na disk a v případě opakovaného použití se jen zkontrolovalo, jestli se soubor na S3 nezměnil. Použití v kódu by pak bylo stejné, jako když je aktivní defaultní FileSystemStorage.
2) Vyřešit stažení a uložení (a zacachování) obrázku lokálně přímo v kódu, který řeší generování toho PDF a nepoužívat path.
Díky
Honza