我正在寻找一种在Django admin中显示代码块(即显示标记片段)的方法。我一直在挖掘一段时间,而我目前的(非工作)方法是:
from django.template import Context, loader
class EventAdmin(admin.ModelAdmin):
list_display = ('name', 'date')
ordering = ('-date',)
readonly_fields = ('markup',)
def markup(self, instance):
return create_markup(instance)
def create_markup(event):
template = loader.get_template('event-markup.html')
return template.render({'event': event})
模板'event-markup.html'很简单,就像:
<h1>Hello, {{ event.name }}</h1>
这似乎很接近,因为它适当地显示了模板,但是应用了样式:
相反,我希望它像这样显示源标记:
有办法做到这一点吗?
答案 0 :(得分:3)
尝试转义create_markup
方法的输出。
from django.utils.html import escape
def create_markup(event):
output = ...
return escape(output)