模板语言 自定义函数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‘,

)

原文地址:https://www.cnblogs.com/alex-hrg/p/10170817.html

时间: 2024-10-07 19:02:10

模板语言 自定义函数simple_tag的相关文章

四、smarty模板的自定义函数

smarty模板的自定义函数(这里介绍的是常用) 分为三个种类: 1.  变量调节器 2.  函数 3.  块函数 三个种类插件的用法: 1.  变量调解器的用法, <{$var|myfun:arg1:arg2}> 2.  函数的用法(和使用HTML标记很像) 如, <{myfun color=”red” size=”7” num=”7”}> 在PHP中定义的函数为: $smarty->registerPlugin(“function”,”myfun”,”one”); fun

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

filter过滤器的主要形式:变量|函数,意思是将变量交给函数处理,而自定义filter就是自己定义函数,因为用到已有的很少. 1.在当前app中创建templatetags模块(包:带__init__.py)(必须的) 2.在templatetags中创建.py文件,如my_tags.py from django import template #因为要应用到前端模板语言,必须导入template from django.utils.safestring import mark_safe re

Django 模板之自定义函数

我们已经知道了在Django的模板里面,可以使用for循环,if判断,接收后台的数据,还可以通过 extends和include来重复使用其他的模板,这一节来学习如何自定义函数. 模板里面有两种方式来自定义函数,分别是simple_tag和 filter方式. simple_tag: 1 首先在app下创建一个templatetags的目录,然后在这个目录下面创建一个py文件,注意这个目录的名字是固定的 2.  然后在这个py文件里面,导入模板类,实例化一个对象register,然后执行一个装饰

在ecshop模板使用自定义函数

可以增加自定义函数,在模板直接调用,例如: {$userId|get_user_name} 或 {$imgUrl|set_width_height:100:200} 案例一(处理图片): 1.模板里使用{$imgurl|getpic:100:200} 2.includes/lib_base.php里面增加函数 function getpic($str, $width, $height){ $len= stripos($str, '.'); if($len !== false){ $str= su

C语言-自定义函数

// 输入任意字符串,以某个字符结束,并返回字符串长度 int get_str( char *s, int size, const char ch='\n' ) //如果不输入第三个参数,默认为回车符 { int i; for( i=0;i<size-1;i++ ) { s[i]=getchar(); //读入一个字符 if ( s[i] == ch ) //遇到指定字符,结束输入 break; } s[i]='\0'; //字符串结束符 return i; //返回读入字符串数据的长度 } v

Python学习(三十七)—— 模板语言之自定义filter和中间件

一.模板语言之自定义filter 自定义filter文件存放位置 模板中自定义函数 - 在已注册的app中创建一个名字叫 templatetags 文件夹 - 任意创建一个py文件 - 创建名字交 register 的Library类的对象 - 定义函数 from django.template import Library register = Library() # 调用示例:{{ "a1"|meikai:"n1,n2"}} # 参数最多2 # 可以做if的条件

Django学习之 - 基础模板语言

模板语言循环 1:如果模板语言遇到列表,直接进行循环取值即可. 2:如果模板语言遇到字典进行循环有以下3种: - for item in dict.keys 只循环获取字典key - for item in dict.value 只循环获取字典value - for k,v in dict.items 循环获取字典的key,value全部.实例url:fordict # 字典for循环的取值方法 1 userlist = { 2 '1': {'name': 'jack', 'age': 36},

django之模版的自定义函数

- 自定义函数 simple_tag a. app下创建templatetags目录 b. 任意xxoo.py文件 c. 创建template对象 register d. __author__ = 'Administrator'from django import templatefrom django.utils.safestring import mark_safe register = template.Library()@register.simple_tag def func(a1,a

自定义模板语言整合

这篇文章主要对比一下两大框架Tornado和Django自定义模块语言,以及对Tornado的自定义模块语言进行一个分离整合 首先我们先看一下在Tornado里,我怎么实现的自定义模板语言 第一步,创建UIMethods.py文件,写入自定义方法(第一参数一定为self),创建UIModules.py文件,定义类(必须继承Tornado一个导入类UIModule,通过重写render方法实现) 第二步,注册到settings里 第三步,在模板语言里调用  {{ 函数方法 }}  {% modul