Отображение полей HTML в форме администратора в Django - PullRequest
0 голосов
/ 19 августа 2011

В моей модели Django есть поле char, в котором хранятся такие элементы html, как <a href='www.gooogle.com'>Google</a>.

В административной форме эти поля отображаются внутри ввода типа text.Мне было интересно, как можно показать фактический HTML вместо того, чтобы иметь его внутри текстового ввода?В приведенном выше примере все, что мне нужно, - это «Google», чтобы при нажатии на него отображался адрес.Я не хочу, чтобы модераторы-администраторы видели HTML-разметки.

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

Заранее спасибо

1 Ответ

1 голос
/ 20 августа 2011

Я нашел решение, создав собственный виджет.

class HtmlWidget(widgets.Widget):
  """A widget to display HTML in admin fields."""

  input_type = None # Subclasses must define this.

  def render(self, name, value, attrs=None):
    if value is None:
      value = ''
    return mark_safe(u'%s' % value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...