我的Django模型中有一个charfield存储html元素,例如<a href='www.gooogle.com'>Google</a>
。
在管理员表单中,这些字段显示在文本类型的输入中。我想知道如何显示实际的HTML而不是在文本输入中?对于上面的示例,我想要的只是一个“Google”,因此当您点击它时,它会将您带到地址。我不希望管理员主持人看到HTML标记。
请注意,我已经使用list_display在管理列表视图中实现了此功能。我需要以详细信息的形式提供相同的功能。
提前致谢
答案 0 :(得分:1)
我通过创建自己的小部件找到了解决方案。
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)