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

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

以上是关于python测试开发django-71.自定义标签tag的主要内容,如果未能解决你的问题,请参考以下文章

基于Spring的可扩展Schema进行开发自定义配置标签支持

pytest接口自动化测试框架 | 自定义@pytest.mark.skip()标签

python测试开发django-181.自定义过滤器(除法取余)

如何在 Django 中测试自定义模板标签?

有没有办法用 Espresso 测试 Chrome 自定义标签?

JSP自定义标签开发入门