0

在我的一生中,我无法让我的静态媒体文件在一个特定项目的本地测试机器上通过,尽管我对其他一些 Django 项目没有任何问题。

我正在使用 Django 1.1.1 和 Windows XP 环境。

对于媒体托管内容,我的 settings.py 看起来像这样:

ROOT_PATH = os.path.dirname(__file__)
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = os.path.join(ROOT_PATH, 'site_media')

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = '/site_media/'

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'

它在这里寻找:

http://127.0.0.1:8000/site_media/schedule/img/add.png

该文件位于站点目录中,如下所示:

c:\django\project_file\site_media\schedule\img\add.png

但是由于某种原因,图像仍然没有出现。

有什么建议吗?

4

1 回答 1

3

应该完全指定您的媒体根目录;如下定义您的 MEDIA_ROOT。

ROOT_PATH = os.path.dirname(__file__)
MEDIA_ROOT = os.path.join(ROOT_PATH, 'site_media')

您是否阅读过有关静态文件的文档您还应该向您添加额外的路由配置,urls.py以确保正确处理对静态内容的请求。

(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': settings.MEDIA_ROOT}),
于 2010-07-05T12:55:55.087 回答