Django中创建自定义标签与过虑器

1.首先在app中创建templatetags目录(注意必须使用该名字,否则系统找不到自定义的标签),然后创建python文件common_extrgs.py.

common_extrgs.py:

from django import template

#创建template.Library()实例register = template.Library()

#使用@register.filter()注册成自定义过滤器@register.filter()def mycut(value,arg):   return value.replace(arg,"---")## register.filter(‘mycut‘,mycut)

from django.template.defaultfilters import stringfilter

#自定义过滤器,并使用stringfilter装饰器过滤成字符型@register.filter@stringfilterdef mylower(value):   return value.lower()

from datetime  import  datetime

#简单标签@register.simple_tag(takes_context=True)def current_time(context):   tm = context[‘format_string‘]   return datetime.now().strftime(tm)

#包含标签@register.inclusion_tag(‘book/show_tag.html‘,takes_context=True)def show_results(context):   tm = context[‘li‘]   tm2 = context[‘l2‘]   return {‘choices‘:tm + tm2}

#分配标签@register.assignment_tag(takes_context=True)def current_time1(context):   tm = context[‘format_string‘]   return datetime.now().strftime(tm)
2.包含标签中使用register.inclusion_tag把show_tag.html文件包含进来,
show_tag.html内容如下:
<ul>    {% for i in choices %}        <li>{{ i }}</li>    {% endfor %}</ul>

3.模板文件中使用{% load common_extras %}把前面自定义的common_extras载入到模板文件中.
模板文件内容如下:
{% load common_extras %}<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body>{% show_results %}{{ ss|mycut:‘ ‘ }}<br>{{ mm|mylower }}<br>{% current_time %}<br>{% current_time1  as ctime %}<br>{% show_results %}<br>{{ ctime }}</body></html>

4.使用views.py文件中视图进行渲染views.py:
def test(request):   return render(request,‘book/ss.html‘,{‘ss‘:‘THIS IS MY NAME‘,                                ‘mm‘:123,                                ‘format_string‘:‘%Y-%m-%d %H:%M:%P‘,                                ‘li‘:[‘python‘,‘java‘,‘c++‘],                                ‘l2‘:[‘c#‘,‘iso‘,‘android‘]                                })
 

 

原文地址:https://www.cnblogs.com/remoting-py/p/9058268.html

时间: 2024-10-16 20:08:57

Django中创建自定义标签与过虑器的相关文章

在html中创建自定义标签

创建并使用自定义标签 Web Components 标准非常重要的一个特性是,它使开发者能够将HTML页面的功能封装为 custom elements(自定义标签),本篇介绍使用 CustomElementRegistry 来管理我们的自定义标签 1. 创建自定义标签 <script> class PopUpInfo extends HTMLElement { constructor () { super(); // 在此定义自定义标签 我顶一个icon和text并列的 // Create a

jsp中的自定义标签

(jsp 1.0规范) 一,自定义标签主要用于移除Jsp页面中的java代码: 使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 1,编写一个实现Tag接口的Java类(标签处理器类). 2,编写标签库描述符(tld)文件,在tld文件中对标签处理器类描述成一个标签.(.tld文件放在WEB-INF目录下面) 二,TAG接口的执行流程: JSP引擎将遇到自定义标签时,首先创建标签处理器类的实例对象,然后按照JSP规范定义的通信规则依次调用它的方法. 1,?public vo

使用原生js创建自定义标签

使用原生js创建自定义标签 效果图 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA

【翻译】在Ext JS和Sencha Touch中创建自定义布局

原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置,因而,不需要手动去管理那些碎片.Ext JS与Sencha Touch的布局类有许多相似之处,最近在 Ivan Jouikov的这篇博文中对他们进行了详细的分析. 虽然是这样,但很多Ext JS和Sencha Touch开发人员可能永远都不会去了解布局系统的机制原理.Sencha框架已经提供了最常

Eclipse RCP 中创建自定义首选项,并能读取首选项中的值

Eclipse RCP的插件中若想自己定义首选项需要扩展扩展点: org.eclipse.core.runtime.preferences //该扩展点用于初始化首选项中的值 org.eclipse.ui.preferencePages//该扩展点用于定义自己的首选项页面 plugin.xml中内容如: Database Preferences挂在WorkFlowBase下,需要在category中填写workFlowBase的ID WorkFlowPreferenceInitializer类,

js中创建html标签、加入select下默认的option的value和text、删除select元素节点下全部的OPTION节点

<pre name="code" class="java"> jsp 中的下拉框标签: <s:select name="sjx" id="sjx" list="sjxList" listKey="BM" listValue="MC" size="20" cssStyle="width:100%;height:70px;

如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例)

如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例) 前提 项目中用到eWebEditor作为在线编辑器替换sharepoint2010自动的多行编辑器,下面以eWebEditor作为自定义字段类型为例来讲述如何用VS2010在sharepoint中创建自定义字段类型. 开发 1. 首先用VS2010创建一个空的sharepoint2010项目,如下图: 指向sharepoint站点,部署为场解决方案,如下图: 2. 在解决方案上添加“映射文件”,指向TEM

js中创建html标签、添加select下默认的option的value和text

<pre name="code" class="java"> jsp 中的下拉框标签: <s:select name="sjx" id="sjx" list="sjxList" listKey="BM" listValue="MC" size="20" cssStyle="width:100%;height:70px;

在Oracle电子商务套件版本12.2中创建自定义应用程序(文档ID 1577707.1)

在本文档中 本笔记介绍了在Oracle电子商务套件版本12.2中创建自定义应用程序所需的基本步骤.如果您要创建新表单,报告等,则需要自定义应用程序.它们允许您将自定义编写的文件与Oracle电子商务套件提供的标准种子功能分离.在向您的环境应用修补程序或执行升级时可以保留自定义设置. 自定义数据和索引表空间默认为APPS_TS_TX_DATA和APPS_TS_TX_IDX. 注意:当没有活动的修补程序周期时,应在运行文件系统上执行本文档中描述的过程. 也可以按照此过程更正先前创建的不使用AD Sp