1

好的,所以我一定完全错过了这里的东西......

为澄清起见,这是 Django 1.9.7

我的模型有一个字段:

prop_image = models.ImageField(upload_to=settings.MEDIA_ROOT, null = True, blank = True, max_length=500)

我已经导入了设置,所以我认为问题不在这里。

也就是说,我的设置有:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

MEDIA_URL = '/perform/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'perform/media')

媒体存储在:

PerformPy/perform/media/

perform是应用名称)

BASE_DIR 是根目录的绝对路径PerformPy

我正在使用的 urls.py 是(我相信这就是问题所在):

urlpatterns = [ ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

最后,我在模板中尝试使用的行index.html如下,全部带有 404 错误(除非另有说明):

  1. src="/perform/media/{{prop.prop_image | filename }}" (使用模板标签过滤掉文件名)
  2. src="{{MEDIA_URL}}/{{prop.prop_image | 文件名}}"
  3. src="{{MEDIA_ROOT}}/{{prop.prop_image | 文件名}}"
  4. src="{{MEDIA_ROOT}}/{{prop.prop_image.url}}" [ERR_NAME_NOT_RESOLVED]
  5. src="{{MEDIA_URL}}/{{prop.prop_image.url}}" [ERR_NAME_NOT_RESOLVED]
  6. src="{{prop.prop_image.url}}
  7. src="/perform/media/{{prop.prop_image.url}}
  8. src="{{prop.prop_image}} [不允许使用本地资源]
  9. src="/{{prop.prop_image}}"
  10. src="执行/媒体/{{prop.prop_image}}"
  11. src="执行/媒体/{{prop.prop_image_url}}"

任何想法或建议都会非常有帮助!我对此很陌生,所以很可能我犯了一个愚蠢的错误。

4

0 回答 0