找不到 Django 媒体 URL

2024-03-23

我遇到了一个奇怪的问题,希望其他地方有人也遇到过同样的问题。我的问题是,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.

我的应用程序设置.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)

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

Thanks.


经过多次尝试,终于解决了这个问题。问题与媒体文件的权限有关。尝试访问这些媒体文件的进程是root,文件由用户itsme拥有。有一个内核补丁可以阻止这些类型的访问。那么为什么会返回 404 错误作为响应。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找不到 Django 媒体 URL 的相关文章

随机推荐