在我的生活中,我无法在一个特定的项目中使用我的本地测试机器获取静态媒体文件,尽管我对其他一些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 \时间表\ IMG \ add.png
但由于某种原因,图像仍未出现。
有什么建议吗?
答案 0 :(得分:3)
应完全指定您的媒体根目录;按如下方式定义您的MEDIA_ROOT。
ROOT_PATH = os.path.dirname(__file__)
MEDIA_ROOT = os.path.join(ROOT_PATH, 'site_media')
您是否阅读过有关静态文件的this documentation;您还应该为urls.py
添加额外的路由配置,以确保正确处理对静态内容的请求。
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT}),