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.

War es hilfreich?

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
scroll top