Django自定义模板函数simple_tag

 

 

simple_tag

自定义Html模板函数

步骤:

1.在app中创建templatetags目录

2.在templatetags目录下创建任意名的py文件,比例funs.py

3.在funs.py里创建template对象,变量名为register ,然后装饰自定义的函数

register 变量名是固定  

#!/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
   
@register.simple_tag
def my_input(id,arg):
    result = "<input type='text' id='%s' class='%s' />" %(id,arg,)
    return mark_safe(result)

  

4.在settings中配置注册当前app,不然django无法找到自定义的simple_tag

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'appname',
)

  

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

{% load funs %}

  

6.使用simple_tag

在html中{ %函数名 arg1 arg2 arg3 %}

{% my_simple_time 1 2 3%}

{% my_input 'id_username' 'hide'%}

  

更多文档 https://docs.djangoproject.com/en/1.10/ref/templates/language/

posted @ 2020-05-22 15:23  JIMfan  阅读(150)  评论(0)    收藏  举报