Проблемы с загрузкой загруженных изображений на Django - PullRequest
0 голосов
/ 20 сентября 2018

После того, как пользователь загрузил изображение, он всегда возвращает ошибку 404.Я думаю, что это ошибка Nginx, но я не уверен в этом, и после нескольких часов поиска и попыток я все еще не понимаю проблему.

Вот мои settings.py:

DEBUG = False
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR,'static'),
)

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

Далее мой urls.py:

urlpatterns = [
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

И мой конфигурационный файл Nginx:

location ^/static/ {
    autoindex on;
    alias /home/user/mywebsite/site/static;
}

location ^/media/ {
    alias /home/user/mywebsite/site/media;
}

Вот сгенерированный URL-адрес изображения: https://www.mywebsite.com/media/CACHE/images/img/venus/758c9f7d70d0c64b5631cc865986de48.jpg (404)

Я использую Django Imagekit для обработки загруженных изображений.Я всегда находил эти URL странными ... может быть, ImageKit нужна дополнительная настройка?

Мои статические и медиа-каталоги находятся в / mainappdjango / static, а не в корневом каталоге.Если я этого не сделаю, мои статические не будут загружены.Изображение хорошо загружено на сервер (я могу получить к нему доступ по FTP или SSH).

Есть ли у вас какие-либо мысли о проблеме, вызывающей эти 404 ошибки?: /

Большое спасибо!

1 Ответ

0 голосов
/ 20 сентября 2018

у вас неправильный конфиг nginx.надо добавить салш.

location /static/ {
    alias /home/user/mywebsite/site/static/;
    autoindex on;
}
location /media/{
  alias /home/user/mywebsite/site/media/;
  autoindex on;
}
...