【问题标题】:Django sorl placeholder default avatar imageDjango sorl 占位符默认头像图片
【发布时间】:2014-04-30 19:59:03
【问题描述】:

我在 django 中有一个项目,使用 sorl-thumbnail 来生成缩略图。我想这样做,如果用户个人资料还没有添加头像图像,它将显示默认照片。

我尝试在我的 UserProfile 模型中执行此操作,但在默认设置存在时上传新图像时遇到问题

avatar = models.ImageField(upload_to='blah', default='path/to/my/default/image.jpg')

我知道我可以在我的所有模板中使用 if 语句,但这会在任何地方重复我自己。比如

{% ifequal object.avatar None %}
    <img src="DEFAULT_IMAGE" />
{% else %}
    display image
{% endifequal %}

当 django 中不存在默认图像时,显示默认图像的最佳做法是什么?

【问题讨论】:

  • sorl-thumbnail 有一个{% empty %} 模板标签,你可以在没有图片的情况下使用

标签: django django-models sorl-thumbnail


【解决方案1】:

正如 Gabriel 所说,您可以使用空标签。

{% thumbnail object.avatar "100x100" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% empty %}
    <img src="DEFAULT_IMAGE">
{% endthumbnail %}

【讨论】:

    猜你喜欢
    • 2020-09-07
    • 2014-01-03
    • 2010-12-03
    • 2014-01-22
    • 1970-01-01
    • 2011-12-22
    • 2014-02-23
    • 2012-02-17
    • 2016-11-14
    相关资源
    最近更新 更多