关于django的Library,对模板语法进行封装

        要进行模块语法封装,需要在settings里面进行注册,且路径要准确,本笔记仅仅是自己遇到了错误,做一个笔记,防止自己以后忘记。

——settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            'libraries': {
                "my_customer_tags": 'rbac.templatetags.rbac'
            }
        },
    },
]

 ——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.MENU_SESSION_KEY]

    return {"menu_list": menu_list}

——static_menu.html

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

——base.html

    <div class="left-menu">
        <div class="menu-body">
            <div class="static-menu">
                {% static_menu request %}
            </div>
        </div>
    </div>

end:

别忘记在模板文件里面哦!

{% load rbac %}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只羊en

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值