python – 找不到Django媒体URL

我遇到了一个奇怪的问题,希望有些人可以面对同样的问题.我的问题就像,django应用程序中存储的媒体无法通过MEDIA_ROOT URL服务.当我试图获取列表时使用URL myhost / media /显示所有媒体文件保存在我的应用程序中的媒体文件.但是当我尝试使用URL myhost / media / image.jpg查看它们时,得到错误请求的页面未找到.

错误跟踪跟踪:

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.

我的app 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)

任何人都可以建议我解决这个问题.

谢谢.

最佳答案
经过这么多小道,最后我解决了这个问题.问题与媒体文件的许可有关.试图访问这些媒体文件的过程是root,文件归用户所有.有一个内核补丁阻止了这种类型的访问.所以404错误作为响应返回.

转载注明原文:python – 找不到Django媒体URL - 代码日志