Медиафайлы, показывающие отладку 404, ложны при использовании сервера разработки Django
Я пытался протестировать свой проект Django перед его развертыванием на cpanel #settings.py STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
====== в проекте urls.py ========
from django.contrib import admin
from django.urls import path,include
from django.conf import settings
from django.conf.urls.static import static
from django.urls import path
urlpatterns = [
path("", include("myapp.urls")),
path('admin/', admin.site.urls),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns
модификация для обслуживания статических файлов рекомендуется в разработке.
Если вы хотите обслуживать статические файлы с того же сервера, который уже обслуживает ваш сайт, процесс может выглядеть примерно так:
- Поднимите ваш код на сервер развертывания.
- На сервере запустите collectstatic, чтобы скопировать все статические файлы в
STATIC_ROOT
. - Настройте ваш веб-сервер для обслуживания файлов в
STATIC_ROOT
под URLSTATIC_URL
. Например, вот как это сделать с помощью Apache иmod_wsgi
.