Медиафайлы и статические файлы не отображаются и не работают в Django

после развертывания сервера статические файлы не работают, а медиафайлы не воспроизводятся. 404 ошибка

здесь urls.py

from django.views.static import serve
import django
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    path ('' , include('home.urls'))
]  +  static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

и settings.py

STATIC_URL = 'static/'
STATIC_ROOT = '/usr/local/lsws/Example/html/demo/static'

"""STATICFILES_DIRS=(
    BASE_DIR / "static",
   
)"""

# Default primary key field type
# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
MEDIA_URL = 'media/'
MEDIA_ROOT = '/usr/local/lsws/Example/html/demo/static/media'
CKEDITOR_UPLOAD_PATH = 'uploads'

Убедитесь, что на prod это та же папка и что пользователь, запускающий webserver, имеет доступ к этой папке. Рассмотрите возможность использования BASE_DIR вместо абсолютных путей. Также вы можете предпочесть хранить файлы проектов не в личной домашней папке пользователя, а где-нибудь в /var/opt или еще где-нибудь. Если у вас были медиафайлы локально до развертывания, то они должны быть скопированы в prod вручную. - Спасибо @Ivan-Starostin

Вернуться на верх