1. 程式人生 > >模板語言 自定義函式simple_tag

模板語言 自定義函式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' , )