【问题标题】:Adding Image into Django Admin ImageField and displaying it in html将图像添加到 Django Admin ImageField 并在 html 中显示
【发布时间】:2016-06-02 11:47:56
【问题描述】:

谁能给出一个简单的工作示例,如何在 Django Admin 中通过 ImageField 添加的 html 文件中显示图像?针对具体问题有很多解决方案,但我找不到一个简单的教程如何正确地做到这一点。

【问题讨论】:

  • 模板中的<img src="{{image_field.url}}"> 不起作用吗?您能否更具体地说明您要实现的目标?
  • 不,它不起作用。我只想从 Django Admin 添加图像文件,然后将其显示在 html 文件中。我在管理员中指定了 'upload_to' 参数,但是当我调用 {{image_field.url}} 时,我得到一个日志,表明找不到该图像。我想知道我还需要添加什么以及在哪里添加才能使 Django 在 html 文件中显示此图像。
  • 从管理员上传时是否遇到任何错误?返回管理员时可以访问图像吗?另外,你可以直接在数据库中查看字段中的内容吗?

标签: django django-models django-templates django-admin


【解决方案1】:

在管理类中添加一个额外的字段怎么样?

在 admins.py 中:

from myapp.models import MyModel
from django.contrib.admin import register, ModelAdmin

@register MyModel
class MyAdmin(ModelAdmin):

    readonly_fields = ('image_preview',)

    def image_preview(self, obj):
        image_field = getattr(obj, 'image', '')
        return format_html(u'<img src="{}" />', image_field.url)

【讨论】:

  • 感谢您的回答,也许我不够具体,我的意思是在 html 文件中,而不是在 Django Admin 中。
  • 模板中的&lt;img src="{{image_field.url}}"&gt; 怎么样,它不起作用吗?
  • 这正是我所做的,但是图像仍然是空的,好像找不到源一样。
  • 在呈现的 HTML 中是什么样子的? SRC 属性实际上是空的吗?如果找不到该文件,这可能是静态文件配置问题。阅读更多docs.djangoproject.com/en/1.9/howto/static-files
  • 为空,中间有问号。好的,我将再次阅读 Django 的教程。
猜你喜欢
  • 2013-04-24
  • 2015-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-25
  • 2014-08-05
  • 2015-12-04
相关资源
最近更新 更多