2010-05-04 3 views
2

У меня здесь небольшая проблема!Настройка виджета формы Django? - Django


Я обнаружил следующее как глобально принятый метод настройки поля admin 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)) 

Мне нужно иметь доступ к другой области модели для того, чтобы решить, как отобразить поле!

Например:

Если я отслеживание значения, назову его «продаж».

Если я хочу настроить отображение продаж в зависимости от другого поля, назовем его «коэффициент конверсии».

У меня нет очевидного способа получить доступ к коэффициент конверсии поле при переопределении виджета!


Любые идеи для работы над этим были бы высоко оценены! Спасибо :)

ответ

1

Вы правы, что сами виджеты независимы. Моя первая мысль о том, что вы делаете что-то более сложное, - либо предоставить настраиваемый шаблон администратора, который делает то, что вы хотите, либо передать часть кода javascript для обработки взаимосвязанных полей (подобно тому, как работают предварительно заполненные поля).

Смежные вопросы