找不到Django媒体网址

时间:2014-04-27 07:56:42

标签: python django django-media

我遇到了一个奇怪的问题,希望其他一些人可能面临同样的问题。我的问题就是,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)

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

感谢。

1 个答案:

答案 0 :(得分:1)

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