我已经成功地为普通的 MEDIA 文件提供媒体文件,但是当我尝试提供管理媒体文件时,我失败了。请帮我找出问题所在,因为我已经尝试解决问题几个小时了,但没有运气(也一直在谷歌搜索并阅读了关于提供静态文件的 django 文档)。
我尝试访问 localhost:8000/media/a.gif 的错误如下:
找不到页面:f:\python25\lib\site-packages\django/contrib/admin/media\a.gif
我将管理媒体文件放在名为“media”的目录中,而将普通媒体文件放在名为“static”的目录中。我也在Windows上。
以下是我在 urls.py 中提供普通媒体文件的方式:
# serve static files
from django.conf import settings
if settings.ENVIRONMENT==settings.ENV_DEVELOPMENT:
urlpatterns += patterns("django.views",
url(r"%s(?P<path>.*)$" % settings.MEDIA_URL[1:], "static.serve", {"document_root": settings.MEDIA_ROOT,})
)
还有我的 settings.py (只有重要的部分):
import project_path
MEDIA_ROOT = project_path.MEDIA.replace('\\','/')
MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'
TEMPLATE_DIRS = (
project_path.TEMPLATE.replace('\\','/'),
)
还有我的 project_path.py:
import sys
from os.path import dirname, join
ROOT = dirname(__file__)
APP = join(ROOT, "apps")
TEMPLATE = join(ROOT, "templates")
MEDIA = join(ROOT, "static")
ADMIN_MEDIA = join(ROOT, "media")
有什么提示吗?
或者至少请分享您如何提供您的管理媒体文件(不更改来自网络服务器的任何文件,但只能通过 django 源代码)
提前致谢 :)