예제 #1
0
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
예제 #2
0
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'
예제 #3
0
"""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)