Python 动态模板标签

Python 动态模板标签,python,django,django-templates,Python,Django,Django Templates,我有自己的模板标签: @register.inclusion_tag('path_to_module.html', takes_context=True) def getmodule(context, token): try: return slow_function(params) except Exception, e: return None 而且速度非常慢。模板正在等待此标记 我可以异步调用它们吗?您可以在后台进程中执行python函数:

我有自己的模板标签:

@register.inclusion_tag('path_to_module.html', takes_context=True)
def getmodule(context, token):
    try:
        return slow_function(params)
    except Exception, e:
        return None
而且速度非常慢。模板正在等待此标记


我可以异步调用它们吗?

您可以在后台进程中执行python函数:

  • (用于数据库传输)
  • (如果使用uWSGI进行部署)
您可以创建一个后台任务,将路径_呈现到_模块并缓存输出。当缓存失效时:再次在后台运行slow_函数。

如果可以缓存(不需要每个页面视图都是唯一的);然后缓存它。可以在模板标签中使用,也可以直接在模板中使用。正如@jpic所说,如果重新计算需要一段时间,则将其传递给芹菜之类的任务队列

如果出于任何原因需要此函数来运行每个页面视图;然后将其分离到一个新视图中,并使用JavaScript异步地将其加载到主模板中的某个容器中