码迷,mamicode.com
首页 > 其他好文 > 详细

inclusion_tag 基本使用

时间:2019-11-30 00:10:33      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:setting   for   str   需要   title   基本   页面   导入   clu   

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 基本使用

标签:setting   for   str   需要   title   基本   页面   导入   clu   

原文地址:https://www.cnblogs.com/liuxu2019/p/11960866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!