如何从 python 代码中调用 django 模板标签?

Posted

技术标签:

【中文标题】如何从 python 代码中调用 django 模板标签?【英文标题】:How to call django template tag from python code? 【发布时间】:2013-10-17 18:04:40 【问题描述】:

我正在编写一个非常简单的自定义标签,我想从我的自定义标签代码中调用 django 的 include 标签。

例如如何从 python 代码中调用 django.templates.loader_tags do_include(或包含)标签?

【问题讨论】:

【参考方案1】:

我认为您只需使用传递给模板标签的上下文而不是使用include 标签来自己渲染模板会更容易。例如:

from django.template.loader import render_to_string

@register.simple_tag(takes_context=True)
def my_tag(context):
    html = render_to_string("my_tag_template.html", context)
    ...

也就是说,如果您想了解包含标签的工作原理,可以在此处查看代码:

https://github.com/django/django/blob/master/django/template/loader_tags.py#L124

【讨论】:

以上是关于如何从 python 代码中调用 django 模板标签?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python.h 从 C++ 调用 Django

从函数中调用 Python cProfile。 (或其他在 Django 中使用 cProfile 的方式)

django - ajax - 从 jquery/ajax 调用 python 函数

在 Django 中模拟模型字段验证器

在 django 中,如何从初始化脚本中调用子命令“syncdb”?

Django:如何从模板中识别调用视图?