2013-09-11 5 views
3

Я просмотрел все другие решения, но ничего не работает для меня. У меня это в моих настройках.Errno 13 Permission denied Django Загрузить файл

MEDIA_ROOT = '/Desktop/myapp/media/' 
MEDIA_URL = 'http://127.0.0.1:8000/media/' 

это в моем admin.py

image = models.FileField(upload_to='images/') 

Я бегу это на сервере LOCALHOST на данный момент. Когда я пытаюсь загрузить изображение в админ и сохранить его, я получаю ошибку:

[Errno 13] Permission denied: '/Desktop'

Я попытался изменить режим с помощью chmod и chown, но я все еще получаю ту же ошибку. Я даже проверил lsof -i, и Python, похоже, имеет доступ к этой папке. Что я делаю не так?

ответ

7

Ну, похоже, я ответил на свой вопрос. Оказывается, это была очень незначительная проблема. Все, что я сделал, это изменить корень медиа на полный путь и вуаля.

MEDIA_ROOT = 'Users/username/Desktop/myapp/media/' 
8

У меня была такая же проблема с абсолютным путем, но я понял что-то еще. Я присоединялся путь, как это:

os.path.join(BASE_DIR, "/media") 

Но, как заявил documentation:

If a component is an absolute path, all previous components are thrown away and joining continues from the absolute path component.

Поэтому удаление корневой слэш решает проблему:

os.path.join(BASE_DIR, "media") 

Приветствия.

Смежные вопросы