Django на Apache с разрешениями на запись Nginx - PullRequest
0 голосов
/ 15 февраля 2012

Я настроил Django с Apache2 + mod_wsgi. Статические файлы обслуживаются Nginx. Apache работает на порте 81 и nginx на порте 80.

мои настройки такие: MEDIA_ROOT = 'http://localhost/media/' ADMIN_MEDIA_PREFIX = 'http://localhost/media/'

Все выглядит хорошо. На https://localhost:81/admin я вижу сайт администратора Django с его статическими файлами.

Я создал новое приложение с этой моделью: Класс Песни (models.Model): song = models.FileField (upload_to = 'songs')

Когда я пытаюсь загрузить файл через сайт администратора, я получаю следующую ошибку.

OSError at / admin / player / song / add /

[Errno 13] В доступе отказано: '/ http:'

Способ запроса: POST URL запроса: http://localhost:81/admin/player/song/add/ Джанго версия: 1.3.1 Тип исключения: OSError Исключение:

Как разрешить apache применять изменения к nginx

1 Ответ

1 голос
/ 16 февраля 2012

Вы установили MEDIA_ROOT на URL.Я думаю, что это должно быть установлено в физическом местоположении, я думаю, то же самое относится и к ADMIN_MEDIA_PREFIX.Я бы попробовал изменить

MEDIA_ROOT = '/Projects/my_project/media/'  # assuming linux

и

ADMIN_MEDIA_PREFIX = PROJECT_URL + '/media/admin'

Вам также нужно будет установить разрешения для папки мультимедиа.Я думаю, что вам нужно дать www-data права на запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...