zoukankan      html  css  js  c++  java
  • django 模板语言之 simple_tag 自定义模板

    自定义函数
    simple_tag
    a. app项目下创建templatetags目录
    b. 创建任意xxoo.py文件 用做自定义py函数
      c. 创建template对象 register
    在函数或者类 前面 加上创建的对象装饰器register  @register.simple_tag
    对象不能改名字 必须是register
    
    
    register = template.Library()
       
    @register.simple_tag
    #!/usr/bin/env python
    #coding:utf-8
    from django import template
    from django.utils.safestring import mark_safe
       
    register = template.Library()
       
    @register.simple_tag
    def my_simple_time(v1,v2,v3):
        return  v1 + v2 + v3
    d. 
    @register.simple_tag
    def func(a1,a2,a3....)
    return "asdfasd"

    e. settings中注册APP

    f.在使用自定义simple_tag的html文件中导入之前创建的 xx.py 文件名,
    顶部 {% load xxoo %}

    g.使用simple_tag
    格式
    {% 函数名 arg1 arg2 %} arg1 arg2 是传参数 py文件的函数有参数,需要传参数


    缺点:
    不能作为if条件
    优点:
    参数任意



     app项目下创建templatetags目录,创建自定义py文件

    foo.py 代码

    from django import template
    from django.utils.safestring import mark_safe
    
    register = template.Library()
    
    @register.simple_tag
    def BOO(a1,a2):
        return a1+a2


    setting 注册app

    在使用自定义simple_tag的html文件中导入之前创建的 xx.py 文件名,使用simple_tag

    {% load foo %}
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Title</title>
    </head>
    <body>
         {% BOO 1 5 %}
    </body>
    </html>

     


    
    
    
     
     
  • 相关阅读:
    ActionMQ
    解决Session共享
    Linux中使用keepalived高可用工具解决宕机问题
    Linux安装Nginx
    Nginx基础
    多线程(1)
    单例模式1(3)
    创建型模式5种(2)
    7原则(1)
    反射使用案例(2)
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/10094429.html
Copyright © 2011-2022 走看看