Django 在ModelAdmin.readonly\u字段方法中使用模板标记

Django 在ModelAdmin.readonly\u字段方法中使用模板标记,django,django-templates,django-admin,Django,Django Templates,Django Admin,我使用这种模式: class PersonAdmin(admin.ModelAdmin): readonly_fields = ('address_report',) def address_report(self, instance): return format_html(...) 资料来源: 现在我想在Python方法address\u report()中使用一个定制的templatetag 最好的称呼方式是什么 我试图直接调用templatetag,但

我使用这种模式:

class PersonAdmin(admin.ModelAdmin):
    readonly_fields = ('address_report',)

    def address_report(self, instance):
        return format_html(...)
资料来源:

现在我想在Python方法
address\u report()
中使用一个定制的templatetag

最好的称呼方式是什么


我试图直接调用templatetag,但这只是返回一个字典,而不是html。

我认为您必须从字符串创建一个模板。这样,您就可以使用任何您想要的模板标记或变量

例如:

from django.template import Template, Context

def address_report(...):
    # create template
    t = Template("""
       {% load custom_tag_module %}
        <p>
            Hello, {{ name }}! <br>
            {% custom_tag %}
        </p>
        """)

    # create context
    c = Context({'name': 'World'})

    # render template, mark safe and return
    return mark_safe(t.render(c))
从django.template导入模板,上下文
def地址报告(…):
#创建模板
t=模板(“”)
{%load custom_标记_模块%}

你好,{{name}}!
{%custom_标记%}

""") #创建上下文 c=上下文({'name':'World'}) #渲染模板,标记为安全并返回 返回标记_安全(t.render(c))