import re from django import template register = template.Library() # register名字是固定的,不能改变 @register.inclusion_tag("menu.html") def get_menu(request): """ 自定义生成菜单标签,根据session中的menus_list数据结构(列表套字典套) :param request: request请求 :return: 返回menus_list """ menus_list = request.session.get("menus_list") for menu in menus_list: if menu["url"] == request.path: menu["class"] = "active" else: if menu.get("children"): for child in menu["children"]: if re.match( child["url"], request.path) or request.show_id == child["pk"]: menu["class"] = "active" child["class"] = "active" return {"menus_list": menus_list} @register.filter
import re import hashlib from django import template from django.conf import settings from ndrive.compile_static import COMPILES register = template.Library() @register.filter def removeDeci(value): value = value.replace("T", " ") value = value.replace("Z", "") value = re.sub("\.\d+", "", value) return value @register.filter def hashstr(value): return hashlib.sha256(value).hexdigest() @register.filter def js_bool(value): if value: return 'true' return 'false'
"""extra template tags """ from django.template.defaulttags import register from django import template register = template.Library() # pylint: disable=invalid-name @register.filter def to_int(string): return int(string)