zoukankan      html  css  js  c++  java
  • 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>
    
  • 相关阅读:
    RedHat 7 安装PostgreSQL 10.5
    百万级数据库优化方案
    所有文章的测试Demo
    PostGreSql安装
    windows server 2016部署服务
    Spring MVC Hello World 404
    Unity攻略
    Unity判断用户联网状态,WiFi/移动网络/无网络
    Unity UGUI Layout自动排版组件用法介绍
    Unity中对系统类进行扩展的方法
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/11809628.html
Copyright © 2011-2022 走看看