2014-04-27 4 views
4

이상한 문제가 생겼습니다. 다른 문제가 생길 수있는 곳도 있습니다. 내 문제는 마치 장고 응용 프로그램에 저장된 미디어가 MEDIA_ROOT URL을 통해 처리 할 수없는 것과 같습니다. . 언제 URL myhost/media /를 사용하여 내 응용 프로그램에 저장되어있는 미디어 파일 목록을 얻으려고했는데, 모든 미디어 파일을 보여주었습니다. 그러나 URL myhost/media/image.jpg를 사용하여 볼 때 URL에 오류가 발생했습니다. 요청한 페이지를 찾을 수 없습니다.Django 미디어 URL을 찾을 수 없습니다.

오류 추적 추적 :

Using the URLconf defined in myapp.urls, Django tried these URL patterns, in this order: 

1.^media\/(?P<path>.*)$ 

The current URL, ~myapp/media/image.jpg, didn't match any of these. 

내 애플의 settings.py

MEDIA_ROOT = '/home/itsme/myapp/media/' 
MEDIA_URL = '/media/' 
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    'django.contrib.staticfiles.finders.DefaultStorageFinder', 
) 
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader', 
    'django.template.loaders.eggs.Loader', 
) 

Urls.py

from django.conf import settings 
from django.conf.urls.static import static 

urlpatterns = patterns('', 

) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

어느 한 날이에 대한 솔루션을 제안 할 수 있습니다.

감사합니다.

+0

아마도 :'MEDIA_ROOT = os.path.join (BASE_DIR, 'media')'장고를 사용하고 있다면> 1.5 – xyres

+0

는 문제가 해결되었음을 의미합니까? – skzryzg

+0

@skzryzg 아니요, 문제가 해결되지 않았습니다. – Ramakrishna

답변

1

많은 흔적을 남긴 끝에 마침내 문제가 해결되었습니다. 문제는 미디어 파일의 사용 권한과 관련이 있습니다. 이러한 미디어 파일에 액세스하려는 프로세스는 루트이며 파일은 사용자가 소유하고 있습니다. 이러한 유형의 액세스를 막는 커널 패치가 있습니다. 그래서 404 오류가 응답으로 반환되는 이유는 무엇입니까?

관련 문제