python测试开发django-71.自定义标签tag

前言

django的模板里面有很多标签可以快速实现一些功能,比如{% url url_name%} 可以快捷的导入一个本地url地址。
上一篇我们可以自定义一些过滤器https://www.cnblogs.com/yoyoketang/p/11809555.html,本篇讲下如何去自定义一个标签

自定义标签

常见的标签语法

  • {% for %}  变量输出变量的内容

  • {% if %}  对变量条件判断

  • {% csrf_token %}   生成 csrf_token值,用于防护跨站请求伪造攻击

  • {% url %}  引用路由配置地址,生成相应的url地址

  • {% with %} 将变量名重命名

  • {% load %}  导入django标签库

  • {% static %}  加载静态资源内容

  • {% extends xxx %}  模板继承

  • {% block xxx %}   重写父类模板的block内容

  • {% include xxx %} 导入模板 文件内容,代码复用

比如我们要实现一个概念,在页面上显示当前的系统时间格式:2019-11-7 10:20:00

接着上一篇,在 templatetags 目录新建mytag.py文件,写个获取当前时间的函数,定义标签名称为 current_time

from django import template
import time

register = template.Library()

@register.simple_tag(name='current_time')
def get_current_time():
timestr = time.strftime("%Y-%m-%d %H:%M:%S")
return timestr

引用标签

模板里面先 load 自己定义的标签

{% load mytag %}

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="referrer" content="no-referrer" />
<title>Title</title>
</head>
<body>

{% load mytag %}

<div>
<p class="text_gray"><span>系统当前时间:</span>{% current_time %}</p>
</div>

</body>
</html>

2019第一期《python测试开发》课程,10月13号开学!

本期上课时间:10月13号-12月8号,每周六、周日晚上20:30-22:30

(0)

相关推荐