开发者

Displaying HTML fields in Admin Form in Django

I have a charfield in my Django model that stores html elements such as <a href='www.gooogl开发者_开发问答e.com'>Google</a>.

In admin form these fields are shown inside an input of type text. I was wondering how it is possible to show the actual HTML instead of having it inside a text input? For the above example, all I want is a "Google" so that when you click on it, it takes you the address. I don't want admin moderators to see HTML mark-ups.

Note that I have already achieved this in admin list view using list_display. I need to make the same functionality in details form.

Thanks in advance


I found the solution by creating my own widget.

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)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜