模板语言 自定义函数simple_tag

Posted alex-hrg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板语言 自定义函数simple_tag相关的知识,希望对你有一定的参考价值。

模板语言自带的一些处理函数:通过管道符来处理

帮助方法:
{{ item.event_start|date:"Y-m-d H:i:s"}}  转换成日期时间型
{{ bio|truncatewords:"30" }} 只取前30个字符
{{ my_list|first|upper }} 将第一个字母大写
{{ name|lower }} 全转换小写

有时我们须要自定义函数:

a、在app中创建templatetags模块

b、创建任意 .py 文件,如:xx.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/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)

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

1
{% load xx %}

d、使用simple_tag

1
2
{% my_simple_time 1 2 3%}
{% my_input ‘id_username‘ ‘hide‘%}

e、在settings中配置当前app,不然django无法找到自定义的simple_tag  

1
2
3
4
5
6
7
8
9
INSTALLED_APPS = (
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘app01‘,
)

 





以上是关于模板语言 自定义函数simple_tag的主要内容,如果未能解决你的问题,请参考以下文章

Django(模板语言-自定义filter和simple_tag)

Django自定义simple_tag和filter

Day21-自定义simple_tag

自定义模板语言之simple_tag和自定义过滤器

simple_tag | filter 对比

Django 模板之自定义函数