我在顶部设置了我的 settings.py 文件,以获取模板和媒体的绝对路径:
import os.path
import django
DJANGO_ROOT = os.path.dirname(os.path.realpath(django.__file__))
SITE_ROOT = lambda x: os.path.join(os.path.abspath(os.path.dirname(__file__)), x)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
MEDIA_ROOT = SITE_ROOT('media'),
MEDIA_URL = '/media/'
TEMPLATE_DIRS = (
SITE_ROOT('templates'),
)
我的模型看起来像这样:
class Work(models.Model):
sample = models.ImageField(upload_to='screenshots/%Y/%m/%d/')
name = models.CharField(max_length=200)
url = models.URLField(blank=True)
同步和创建模板后,我使用了变量
{{ work.sample }}
调用使用 ImageField 上传的图像。运行服务器后,图像未显示。输出很简单
<img src="screenshots/2012/08/09/1.png">
绝对路径未显示在标记中,因此未正确调用图像。其他信息显示得很好。谁能帮我解决这个问题?我确信这是一个简单的解决方法,我只是想不通。顺便说一句,我正在本地运行它。希望这是足够的信息继续下去。谢谢。