django自定义标签

自定义一个返回日期的标签

前端界面:

django自定义标签

urls:

django自定义标签

views:

django自定义标签

自定义标签的代码:

from django import template

register = template.Library()

import datetime


class CurrentTimeNode(template.Node):
    """
    template.Node提供了HttpResponse方法
    """
    def __init__(self, str):
        self.str = str

    def render(self, context):
        now = datetime.datetime.now()
        return now.strftime(self.str)

@register.tag("current_time")
def do_current_time(parser, token):
    """

    :param parser:
    :param token:标签当中的所有内容
    :return:
    """
    try:
        name, args = token.contents.split(None, 1) #将标签的内容切分成标签名称和内容两部分
    except ValueError as e:
        raise template.TemplateSyntaxError(str(e))
    else:
        return CurrentTimeNode(args)

 

 

然后查看效果

django自定义标签