django / разрешения на загрузку файлов - PullRequest
30 голосов
/ 04 марта 2009

Я написал приложение django, но у меня небольшая проблема с правами доступа к файлам для загрузки файлов из веб-формы.

Обычно я могу загрузить файл .mp3, но он всегда сохраняет chmod 600.

В папке контейнера есть chmod 775, а значение umask установлено в 022.

Я в сервисе общего хостинга.

Ответы [ 2 ]

63 голосов
/ 04 марта 2009

Попробуйте это в вашем settings.py, если вы используете Python 2:

FILE_UPLOAD_PERMISSIONS = 0644

В Python 3 восьмеричные числа должны начинаться с 0o, поэтому строка будет иметь вид:

FILE_UPLOAD_PERMISSIONS = 0o644

Для получения более подробной информации см. Документацию .

0 голосов
/ 10 ноября 2018

Надеюсь, это полезно. Ниже метод может быть использован. Это имеет 2 других преимущества, кроме устранения ошибок разрешения.

  • Нет проблем с правами доступа к файлу
  • Быстрее
  • Файл не копируется в папку / tmp / для файлов, размер которых превышает 2,5 МБ (также экономия места).

with open(file_name, 'wb+') as temp_file:
    for chunk in up_file.chunks():
        temp_file.write(chunk)
...