我猜您的文件位于根目录的子目录中,名为“zoomOutImage”的子目录。或者甚至在根目录中调用类似的文件。我记得在上传到字符串中放了一个函数调用。该函数使用 os.join 和实例中的文件名创建路径和文件名。直接执行此操作,目前没有可用的示例代码。但必须能够谷歌这个。
看这里https://stackoverflow.com/questions/1190697/django-filefield-with-upload-to-determined-at-runtime
顺便说一句,我完全不同意你的回答,你不应该在你的设置中使用绝对路径!请参阅this answer use css in django 1.4 development了解如何使用正确的设置并参考您的项目路径
编辑(阅读您自己的答案后)
猜你错过了第一步:
这是您的 settings.py 文件的路径:
SETTINGS_DIR = os.path.dirname(os.path.realpath(__file__))
而且这是您的项目目录的路径:(我正在使用 buildout,所以称它为 buildout,但它是您项目的根目录):
BUILDOUT_DIR = os.path.abspath(os.path.join(SETTINGS_DIR, '..'))
从那里你可以定义你想要的一切:
STATIC_ROOT = os.path.join(BUILDOUT_DIR, 'var', 'static')
STATIC_URL = '/static_media/'
MEDIA_ROOT = os.path.join(BUILDOUT_DIR, 'var', 'media')
MEDIA_URL = '/media/'
并在您的模板文件中引用如下图像:
<a href="{{MEDIA_URL}}{{ case.zoomOutImage }}"><img src="{{MEDIA_URL}}{{ case.zoomOutImage }}" width="100%"></a>
当您给模板的对象称为 case
关于你的网址问题。你应该添加这个:
if settings.DEBUG:
urlpatterns += patterns('',
(r'', include('staticfiles.urls')),
)
并查看上面关于使用 css 的问题的链接,这是同样的问题,但是在开发过程中可以找到 css 文件。这都是关于静态文件位置的。