Использование тега шаблона в методе ModelAdmin.readonly_fields - PullRequest
0 голосов
/ 11 декабря 2018

Я использую этот шаблон:

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

    def address_report(self, instance):
        return format_html(...)

Источник: документы о readonly_fields

Теперь я хотел бы использовать собственный тег шаблона в методе Python address_report().

Как лучше всего это назвать?

Я пытался вызвать мой шаблонный тег напрямую, но это просто возвращает словарь, а не html.

1 Ответ

0 голосов
/ 23 декабря 2018

Я думаю, вам придется создать шаблон из строки.Таким образом, вы можете использовать любые шаблоны тегов или переменных, которые вы хотите.

Пример:

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