Ошибка: запрошенный URL / медиа / не найден на этом сервере - PullRequest
1 голос
/ 02 мая 2019

Я использую Django на pythonanywhere для создания веб-приложения. Я пытаюсь получить доступ к файлу в своей папке мультимедиа, выбрав http://thedstrat94.pythonanywhere.com/media/example.png. Я получаю только ошибку «Не найдено»

Мои шаблоны URL в urls.py выглядят правильно:

urlpatterns = [
    path('admin/', admin.site.urls), #url(r'^admin/', admin.site.urls),
    path('', views.index, name = "index"),
    path('about/',views.about,name = "about"),
    path('articles/',include("article.urls")),
    path('user/',include("user.urls")),
]
urlpatterns += static(settings.MEDIA_URL, 
document_root=settings.MEDIA_ROOT)

Мой файл settings.py выглядит правильно:

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

1 Ответ

1 голос
/ 02 мая 2019

Django не предназначен для обслуживания медиа-файлов в производственной среде.

Django обслуживает медиафайлы только при Debug=True при локальном запуске приложения в режиме отладки.

Это означает, что с указанными выше настройками вы не сможете подавать медиафайлы в production .

Решения:

  1. Либо вы используете некоторые облачные сервисы, такие как Amazon S3.
  2. Вы настраиваете свой сервер Apache / Nginx для обработки мультимедийных файлов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...