MEDIA_ROOT 및 MEDIA_URL이 설정되어 있음에도 업로드된 Django 미디어 파일에 액세스하려고 할 때 404 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-08 09:06:01
원래의
620명이 탐색했습니다.

Why am I getting a 404 error when trying to access my uploaded Django media files even though MEDIA_ROOT and MEDIA_URL are set?

MEDIA_URL 및 MEDIA_ROOT를 사용한 Django 미디어 파일 제공 문제 해결

Django 관리 인터페이스를 통해 이미지를 업로드하고 URL을 통해 액세스하려고 할 때 또는 프런트엔드에서 설정이 적절하지 않으면 실망스러운 404 오류가 발생할 수 있습니다.

MEDIA_ROOT 및 MEDIA_URL 설정

업로드된 미디어 파일을 저장하기 위해 Django는 MEDIA_ROOT라는 두 가지 설정을 사용합니다. 이 설정은 파일이 저장될 실제 디렉터리의 경로를 지정합니다. 웹에서 파일에 액세스하는 데 사용되는 URL 접두어인 MEDIA_URL이 저장됩니다.

MEDIA_ROOT를 /home/dan/mysite/media/로 설정하고 MEDIA_URL을 /media/로 설정한 경우 모든 것이 올바르게 설정된 것처럼 보일 수 있습니다. 그러나 이러한 파일을 제공하도록 URL 패턴을 구성할 때까지는 업로드된 파일에 액세스할 수 없습니다.

개발 중인 정적 파일 제공

다음을 사용하여 로컬에서 개발하는 경우 Django에서는 이미지와 같은 정적 파일을 제공하는 것이 필수적입니다. 그러나 프로덕션에서는 일반적으로 정적 파일 제공을 처리하도록 웹 서버(예: Apache 또는 Nginx)를 구성하려고 합니다.

개발을 위해 Django는 개발을 위해 사용할 수 있는 django.views.static.serve 함수를 제공합니다. 지정된 디렉터리의 파일을 제공합니다. 이를 Django 프로젝트에 통합하려면 다음 단계를 따르세요.

  1. 설정을 업데이트하세요.

    • Django >= 1.7의 경우, urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)을 추가하세요. urls.py 파일.
    • Django <= 1.6의 경우 urls.py 파일의 if settings.DEBUG: 블록 내에 이 블록을 추가하세요:
    from django.conf import settings
    if settings.DEBUG:
        # static files (images, css, javascript, etc.)
        urlpatterns += patterns('',
            (r'^media/(?P.*)$', 'django.views.static.serve', {
            'document_root': settings.MEDIA_ROOT}))

이렇게 하면 DEBUG가 True일 때(일반적으로 로컬 개발 중) Django가 정적 파일을 제공하게 됩니다. MEDIA_ROOT 디렉터리에서.

이미지 액세스

URL 패턴이 올바르게 구성되었으면 이제 URL 접두사 MEDIA_URL 뒤에 경로를 사용하여 업로드된 이미지에 액세스할 수 있습니다. 파일에. 귀하의 경우 http://127.0.0.1:8000/media/images/myimage.png에서 이미지에 액세스할 수 있습니다.

위 내용은 MEDIA_ROOT 및 MEDIA_URL이 설정되어 있음에도 업로드된 Django 미디어 파일에 액세스하려고 할 때 404 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿