从 Django 模板标签获取 属性

Get property from django template tag

我有一个简单的标签,我 return rendered_payload 有两个属性 htmlreduxState:

@register.simple_tag
def header_and_sidebar():
    user = {}

    # Here's what we've got so far
    render_assets = {
        'url': '/policy-portal/list',#request.path_info,
        'user': user
    }

    try:
        res = requests.post('http://docker.for.mac.localhost:8000/' + 'render', #settings.FRONTEND_URL
                        json=render_assets,
                        headers={'content_type': 'application/json'})
        rendered_payload = res.json()
    except Exception as e:
        print(e)
        ...

    return rendered_payload

当我尝试在模板中使用标签时:

     {% load project_tags %}
      {% header_and_sidebar.html %}

此错误为:

Invalid block tag on line 164: 'header_and_sidebar.html'. Did you forget to register or load this tag?

我应该如何访问嵌套的 属性? 当我不尝试访问嵌套 属性 时,此设置工作正常,所以我知道它的大部分配置正确。

这是我的 settings.py 衡量标准:

TEMPLATES = [
    {
       ...
        'OPTIONS': {
            'libraries': {
                'project_tags': 'base.templatetags.custom_tags',
            },
        ...
     }

您可以将模板标记的结果存储在一个变量中,然后访问它:

{% header_and_sidebar <b>as data</b> %}{{ <b>data.html</b> }}