Django模板文件——给模版中base.html页面传数据(上下文处理器)

参看链接:

https://blog.csdn.net/qq_39062888/article/details/101108736

https://vlambda.com/wz_7ir7c4ddsm6.html

1.自定义一个上下文处理器

def trans_code_list(request):
    nodes = Node.objects.values('trans_code').annotate(counts=Count('trans_code'))
    return {"nodes": nodes}

2.在 setting 中注册自定义上下文处理器

TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                 ...
                'transcode.transcode_processors.trans_code_list',
            ],
        },
    },
]

3.在模板中之间使用自定义上下文处理器中返回的字典对象:

<ul class="nav nav-sidebar">
{% for node in nodes %}
<li><a href="{% url 'node_set' node.trans_code %}"> {
   
   { node.trans_code }} </a></li>
{% endfor %}
</ul>

Guess you like

Origin blog.csdn.net/qq_15028721/article/details/114358133