django / Hochladen von Dateien Berechtigungen
-
03-07-2019 - |
Frage
Ich schrieb eine django app, aber ich habe ein kleines Problem mit den Dateiberechtigungen der Uploads von Dateien von einem Web-Formular.
Im Grunde kann ich eine MP3-Datei hochladen, aber es bleibt immer chmod 600.
Der Container Ordner hat 775 chmod und umask wird auf 022.
Ich bin in einem Shared-Hosting-Service.
Lösung
Versuchen Sie dies in Ihrem settings.py, wenn Sie verwenden Python 2:
FILE_UPLOAD_PERMISSIONS = 0644
In Python 3 Oktalzahlen mit 0o starten müssen, damit die Zeile wäre:
FILE_UPLOAD_PERMISSIONS = 0o644
Für weitere Informationen finden Sie in der Dokumentation .
Andere Tipps
Hoffe, dass dies sinnvoll ist. Die folgenden Verfahren können verwendet werden. Dies hat zwei weitere Vorteile außer Lösung Berechtigungsfehler.
- Keine Probleme mit Dateiberechtigungen
- Mehr schneller
- Die Datei wird in / tmp / Ordner für Dateien nicht kopiert, die mehr als 2,5 MB (wie auch platzsparend) sind.
with open(file_name, 'wb+') as temp_file:
for chunk in up_file.chunks():
temp_file.write(chunk)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow