要进行模块语法封装,需要在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 %}