django 模块 template(filter)

来源:互联网 发布:网络营销策划书例文 编辑:程序博客网 时间:2024/05/29 13:16
from django import templatefrom django.template.base import resolve_variableregister = template.Library()@register.filter('my_rong')def my_rong(a):    return  a+'rong'#html ->  <h1>{{  item.name | my_rong }}</h1>#模版配置TEMPLATE_DIRS = (        os.path.join(BASE_DIR,'templates'),    )#静态文件STATICFILES_DIRS = (        os.path.join(BASE_DIR,'static'),    )#帮助方法:{{ item.event_start|date:"Y-m-d H:i:s"}}{{ bio|truncatewords:"30" }}{{ my_list|first|upper }}{{ name|lower }}通过simple_tag实现模版语言中的帮助方法a、在app中创建templatetags文件夹b、创建任意 .py 文件,如:xx.py#!/usr/bin/env python#coding:utf-8from django import templatefrom django.utils.safestring import mark_safefrom django.template.base import resolve_variable, Node, TemplateSyntaxErrorregister = template.Library()@register.simple_tagdef my_simple_time(v1,v2,v3):    return  v1 + v2 + v3c、在使用自定义simple_tag的html文件中导入之前创建的 xx.py 文件名    {% load xxx %}d、使用simple_tag    {% my_simple_time 1 2 3%}    {% my_input 'id_username' 'hide'%}e、再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',        'app01',    )
0 0