代码之家  ›  专栏  ›  技术社区  ›  schneck

在ModelAdmin中添加代码段

  •  2
  • schneck  · 技术社区  · 16 年前

    我有一个ModelAdmin,我需要插入一些HTML片段,它不是模型的一部分(它是Java applet)。有什么办法吗?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Mark Lavin    16 年前

    你有几个选择。如果小程序与某个表单字段相关,则可以创建一个包含小程序的自定义小程序。另一种方法是重写模型更改表单使用的模板并包含小程序。模板应该在 admin/app_name/model_name/change_form.html 在模板目录中 app_name 和 model_name 替换为模型的适当值。

        2
  •  1
  •   fish2000    16 年前

    我倾向于做很多这样的事情,这正是你想要的:

    class SomeModelAdmin(admin.ModelAdmin):
        ...
        list_display = (
            'visible',
            'thumbnail',
            'size',
            'url',
        )
        ...
    
        def thumbnail(self, obj):
            return u'<img src="%s" />' % obj.url
    
        thumbnail.allow_tags = True
    

    …等等,特别的HTML片段。 obj 是否存在问题的模型实例。就我个人而言,我发现这比无休止地将widgets、modelforms等子类化更为灵活——您的里程可能会因您在管理站点上所做的操作而有所不同,或者如果您具有更为正统的面向对象的说服力,那么了解如何在任何情况下都会有所帮助。

    推荐文章