Django Class属性spitting HTML将显示在模型的Admin页面中

时间:2013-02-22 03:33:38

标签: python django django-models django-forms django-admin

我有一个类属性,可以呕吐一些HTML:

class Task (models.Model):
    def test(self):
        return """<img border="0" alt="" src="/%s/%s/%s" />""" % (UPLOADS_DIR, GRAPH_DIR, "task.svg")

    test.allow_tags = True

如何轻松将返回的HTML反馈到模型的管理页面?它适用于list_display()页面。我试图为其模型页面为test()创建一个自定义小部件,但我的小部件实际上无法显示图像。我不想通过为此模型制作自定义模板来解决此问题。基本上我正在寻找一个自定义表单或窗口小部件,只需将测试spits的任何HTML放入模型的管理页面而不修改属性的输出。

有什么想法吗?

非常感谢!

今朝

1 个答案:

答案 0 :(得分:0)

我知道你并不热衷,但我认为重写模板将是最好的方式。

小部件与特定字段相关联,但您的test()方法不是。 django表单只关注字段 - 它们是关于将数据发送回服务器 - 而不是呈现数据 - 这是视图和模板。

通过覆盖模板来做这件事不应该太乱。如果你想要它真的很干净,你可以简单地扩展现有模板,然后在底部添加你的字段。查看覆盖管理模板的docs。覆盖特定模型的特定模板非常简单。