python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Django触发器admin显示图片

Djanog admin 显示图片及触发器讲解

作者:alue

这篇文章主要为大家介绍了Djanog admin 显示图片及触发器讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Django 触发器

在 Django 开发中,会遇到这样的场景:某个数据变动时,要触发一个行为。

常用的套路是,自定义模型的 save 函数,或者监听 post_signal 信号。

正常情况下,这种方式能够正常工作。但有些特殊情况,例如没有通过 Django 控制产生的数据(可能来源于其它进程),或者Django为了提高效率,运行了 bulk_create 之类的批处理函数。这时,进程不会触发用户自定义的save函数,也不会发出 post_signal 信号,导致业务逻辑失效。

这时候,可以利用更底层的触发信号。例如,postgre 数据库能够提供 NOTIFY 服务。

有人已经将其封装好了库,可以直接在Django中使用,例如 django-pgtrigger 等。

Djanog admin 显示图片

之前一篇文章 Django admin 显示 json 字段,介绍了如何利用自定义 widget 的方式,在django admin中, 优雅的显示json字段.

本篇介绍,如何在admin 中显示图片字段.

例如, 已知该模型的一个字段为图片, 其url为 photo.

我们可以定义一个函数

    def image_tag(self):
        return mark_safe('<img src="%s" width="150" height="150" />' % self.photo)
    image_tag.short_description = '照片'

然后, 注册 admin 模型时, 就可以将 image_tag当做一个图片字段. 它在页面中, 会显示出图片.

注: 这里需要将 image_tag 放在 readonly_fields中.

以上就是Djanog admin 显示图片及触发器讲解的详细内容,更多关于Django触发器admin显示图片的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文