Question

J'ai écrit une application Django, mais j'ai un petit problème avec les autorisations de fichiers des fichiers téléchargés à partir d'un formulaire Web.

En principe, je peux télécharger un fichier .mp3, mais il conserve toujours chmod 600.

Le dossier du conteneur contient chmod 775 et l'umask est défini sur 022.

Je suis dans un service d'hébergement partagé.

Était-ce utile?

La solution

Essayez ceci dans votre fichier settings.py si vous utilisez Python 2:

FILE_UPLOAD_PERMISSIONS = 0644

En Python 3, les nombres octaux doivent commencer par 0o pour que la ligne soit:

FILE_UPLOAD_PERMISSIONS = 0o644

Pour plus d'informations, consultez la documentation .

Autres conseils

J'espère que cela vous sera utile. La méthode ci-dessous peut être utilisée. Cela présente 2 autres avantages que la résolution des erreurs d'autorisation.

  • Aucun problème avec les autorisations de fichiers
  • Plus rapide
  • Le fichier n'est pas copié dans le dossier / tmp / pour les fichiers de plus de 2,5 Mo (gain d'espace également).
with open(file_name, 'wb+') as temp_file:
    for chunk in up_file.chunks():
        temp_file.write(chunk)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top