Я развернул приложение Django на сервере apache. Все stati c файлы обслуживаются должным образом, но не принимают медиа-файлы из формы ввода - PullRequest
0 голосов
/ 30 апреля 2020

При отправке формы с вводом мультимедиа ее показ

[Errno 13] Permission denied: '/home/ubuntu/django/media/pictures'

Я искал в Google, но никто не сказал, что даёт разрешения для медиафайлов, все они рассказывают только о stati c файлах. Может ли кто-нибудь сказать мне, какое разрешение я должен дать ему с помощью chmod no.

1 Ответ

0 голосов
/ 30 апреля 2020

У вас проблемы с разрешениями. Чтобы исправить это, вам нужно разрешить процессу Apache доступ к папке и ее содержимому.

Это можно сделать, выполнив следующие действия:

  1. Измените разрешения для чтения и записи

    chmod 664 /home/ubuntu/django/media/pictures -R
    
  2. Дайте группе Apache права доступа группы (www-data group) к папке и ее содержимому

    sudo chown -R :www-data ~/home/ubuntu/django/media/pictures
    
  3. Перезапустите службу Apache

    sudo service apache2 restart
    

Если вы хотите, чтобы Django вел себя как следует, вы также можете добавить следующее в свои настройки. py

FILE_UPLOAD_DIRECTORY_PERMISSIONS = 0o755
FILE_UPLOAD_PERMISSIONS = 0o644
...