【问题标题】:Looking for a simple way to display a code block in Django admin寻找一种在 Django admin 中显示代码块的简单方法
【发布时间】:2016-10-05 23:18:28
【问题描述】:

我正在寻找一种在 Django admin 中显示代码块(即显示标记的 sn-p)的方法。我已经研究了一段时间,我目前(非工作)的方法是:

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>

这看起来很接近,因为它适当地显示了模板,但应用了样式:

相反,我希望它像这样显示源标记:

有没有办法做到这一点?

【问题讨论】:

    标签: python django django-templates django-admin


    【解决方案1】:

    尝试转义 create_markup 方法的输出。

    from django.utils.html import escape
    
    def create_markup(event):
        output = ...
        return escape(output)
    

    【讨论】:

    • 像魅力一样工作。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 2019-05-04
    • 2011-02-14
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多