我遇到了一个奇怪的问题,希望其他人也有可能遇到同样的问题。我的问题是:在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.
我的应用程序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)
有人能为我提供解决方案吗?
谢谢。
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
如果你使用的是 Django > 1.5。 - xyresmyapp/media/image.jpg
这个 URL 是如何生成的? - skzryzg