定制Django表单小部件?姜

2024-09-30 16:30:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有点小问题!在


我发现以下是定制Django管理字段的全球公认方法。在

from django import forms
from django.utils.safestring import mark_safe

class AdminImageWidget(forms.FileInput):
    """
    A ImageField Widget for admin that shows a thumbnail.
    """

    def __init__(self, attrs={}):
        super(AdminImageWidget, self).__init__(attrs)

    def render(self, name, value, attrs=None):
        output = []
        if value and hasattr(value, "url"):
            output.append(('<a target="_blank" href="%s">'
                           '<img src="%s" style="height: 28px;" /></a> '
                           % (value.url, value.url)))
        output.append(super(AdminImageWidget, self).render(name, value, attrs))
        return mark_safe(u''.join(output))

我需要访问模型的其他字段,以便决定如何显示该字段!在

例如:

如果我在跟踪一个价值,我们称之为“销售”。在

如果我想根据另一个字段定制销售的显示方式,我们称之为“转换率”。在

在覆盖sales widget时,我没有明显的方法访问转换率字段!在


任何解决这一问题的想法都将不胜感激!谢谢:)


Tags: django方法fromimportselfurloutputinit
2条回答

您可能需要使用custom form for the admin

小部件本身是独立的这一点是正确的。我做一些更复杂的事情的第一个想法是要么提供一个自定义的管理模板,要么传递一段javascript代码来处理相互关联的字段(就像预填充字段的工作方式一样)。在

相关问题 更多 >