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