模板語言 自定義函數simple_tag
阿新 • • 發佈:2018-12-24
time 轉換成 bio utf ces containe type 文件中 bin
模板語言自帶的一些處理函數:通過管道符來處理
幫助方法:
{{ 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