【问题标题】:How to set default image from not from media directory如何从非媒体目录设置默认图像
【发布时间】:2019-08-10 17:40:05
【问题描述】:

我不知道如何正确设置非媒体图像的默认路径。
我尝试添加/,但没有帮助:

...
image = models.ImageField(...
                         default='/static/course_lesson/resources/images/default.jpg')
...

HTML页面image.url看起来如下:

...
src="/media/static/course_lesson/resources/images/default.jpg"
...

【问题讨论】:

  • 这是合乎逻辑的,因为{% media ... %} 本质上是将媒体根添加到 url。
  • 我的第一反应是同意@WillemVanOnsem,但这个(stackoverflow.com/questions/47723490/…)问题/答案暗示(我认为)你的方法应该有效。尝试删除单引号
  • @HenryM,是的,你是对的,我已经从这个 Q\A 中采取了方法。但是你说删除单引号是什么意思?
  • default=/static/course_lesson/resources/images/default.jpg,不是default='/static/course_lesson/resources/images/default.jpg'
  • @HenryM,不,这不起作用 - 语法错误

标签: django default imagefield


【解决方案1】:

尝试将此添加到您的模型中

def image_url (self):
    if self.image: return self.image.url
    else: return static("course_lesson/resources/images/default.jpg")

然后在模板内

src="{{ object.image_url }}"

【讨论】:

  • 可以,但是如果我想引用应用程序的静态文件夹怎么办?我的意思是,例如:course_lesson/static/course_lesson/resources/images/default.jpg
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多