autorizzazioni per il caricamento di django / file
-
03-07-2019 - |
Domanda
Ho scritto un'app django, ma ho un piccolo problema con le autorizzazioni dei file caricati da un modulo web.
Fondamentalmente posso caricare un file .mp3 ma mantiene sempre chmod 600.
La cartella del contenitore ha chmod 775 e umask è impostato su 022.
Sono in un servizio di hosting condiviso.
Soluzione
Prova questo in settings.py se usi Python 2:
FILE_UPLOAD_PERMISSIONS = 0644
In Python 3 i numeri ottali devono iniziare con 0o in modo che la riga sia:
FILE_UPLOAD_PERMISSIONS = 0o644
Per maggiori dettagli consultare la documentazione .
Altri suggerimenti
Spero che sia utile. È possibile utilizzare il metodo seguente. Ciò ha altri 2 vantaggi oltre alla risoluzione degli errori di autorizzazione.
- Nessun problema con le autorizzazioni per i file
- Più veloce
- Il file non viene copiato nella cartella / tmp / per file che superano i 2,5 MB (risparmiando anche spazio).
with open(file_name, 'wb+') as temp_file:
for chunk in up_file.chunks():
temp_file.write(chunk)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow