inclusion_tag 基本使用

Posted liuxu2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了inclusion_tag 基本使用相关的知识,希望对你有一定的参考价值。

inclusion_tag的用途

inclusion_tag可以实现从后台往前端传递绑定数据的样式,一般用来动态显示模板页面中显示固定格式的数据。

inclusion_tag的用法

step1: 编写前端页面样式模板
rbac/templates/rbac/static_menu.html

<div class="static-menu">
    {% for item in menu_list %}
        <a href="{{ item.url }}">
            <span class="icon-wrap">
                <i class="fa {{ item.icon }}"></i></span>{{ item.title }}
        </a>
    {% endfor %}
</div>

step2: 使用inclusion_tag
rbac/templatetags/rbac.py

from django.template import Library
from django.conf import settings

register = Library()

@register.inclusion_tag("rbac/static_menu.html")
def static_menu(request):
    """
    动态显示一级菜单
    :param request:
    :return:
    """
    menu_list = request.session[settings.PERMISSION_MENU_KEY]
    return {"menu_list": menu_list}

# rbac/templatetags/rbac.py 必须是 templatetags文件夹名
# register = Library() 固定写法
# return 的数据传递给rbac/static_menu.html使用

step3: 在需要的页面位置处,引入并使用inclusion_tag
web/templates/web/layout.html

{# 先导入 #}
{% load rbac %}

<div class="pg-body">
    <div class="left-menu">
        <div class="menu-body">
            {# 再使用 #}
            {% static_menu request %}
        </div>
    </div>
</div>

本质static_menu函数给rbac/static_menu.html提供需要的参数,然后再需要的页面位置处使用 static_menu函数,需要时提供 static_menu函数需要的参数。页面最后将渲染rbac/static_menu.html的带有数据的样式。

以上是关于inclusion_tag 基本使用的主要内容,如果未能解决你的问题,请参考以下文章

Django模板渲染之自定义inclusion_tag详细使用

inclusion_tag的运用

django——inclusion_tag

html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。

Django之自定义标签,过滤器,以及inclusion_tag

inclusion_tag 组件