问题
http://v2ex.com/t/68761#reply7
解决方案:自定义了一个filter( filter 类似于 shell 的管道)
[url]http://djangobook.py3k.cn/2.0/chapter09/
[/url]具体步骤:
1 在 app 目录建 templatetags dir, 包括一个__init__.py 和tags模块文件(eg: mytags.py)
2 mytags.py 中写代码
#coding=utf-8
from django import template
register = template.Library()
@register.filter(name='get_from_dict_by_key')
def get_from_dict_by_key(dict_, key):
return dict_.get(key)
@register.filter(name='format')
def format(string_, fmt):
return fmt % string_
在模板中使用
开头添加 {% load mytags %}
<td>{{ log.time_used|format:"%.2f" }}</td>
<td>{{ log.response.headers|get_from_dict_by_key:"content-type" }}</td>
分享到:
相关推荐
而自定义模板标签则是Django模板系统的一个强大特性,它允许开发者扩展模板语言的功能,以满足特定项目的需求。本文将深入探讨如何在Django中实现自定义模板标签。 首先,我们需要了解Django模板标签的两种类型:...
总的来说,Django的自定义filter和标签功能使得我们可以根据项目需求灵活地扩展模板语言,提高代码的可复用性和维护性。在开发过程中,熟练掌握这些自定义机制,能够帮助我们更高效地构建Web应用。
django 提供了丰富的模板标签(template tag)和过滤器(tempalte filter),但这些并非完全能满足自己的需要,所以django 也提供了自定义模板标签和filter. 自定义这些标签其实很简单,用一个方法举例,今天有一个需要在...
from django.template import Library register = Library() @register.filter def get_list_max(val): result = max(val) return result ``` `get_list_max`函数接收一个列表`val`,并返回其中的最大值。...
在Django框架中,过滤器(Filter)是用于实现各种数据过滤逻辑的组件,可以简化模板中的逻辑判断和数据展示。本文将详细解释如何在Django中创建一个自定义过滤器,以及如何通过一个具体例子来判断某个变量是否存在于...
2. **自定义管理器**:可以定义自定义的管理器类,通过设置`admin.ModelAdmin`的属性(如list_display、list_filter、search_fields等)来自定义后台界面的显示和过滤方式。 3. **权限管理**:Django的权限系统允许...
### Django 自定义过滤器的实现 #### 一、概述 在使用Django开发Web应用时,我们经常会遇到需要对模版中的数据进行处理的情况。Django自带了一套强大的模板语言——Django Template Language (DTL),它允许开发者...
在Django框架中,自定义过滤器是扩展模板语言功能的重要手段,尤其在处理复杂变量时显得尤为关键。本篇文章将详细讲解如何在Django中创建并使用自定义过滤器来处理字典嵌套以及对象属性的访问。 首先,我们来看一下...
在 `mytags.py` 文件中,需要导入 Django 的 `template` 模块,并初始化一个 `Library` 实例,用于注册自定义标签和过滤器: ```python from django import template register = template.Library() ``` ##### 4. ...
5. 创建自定义过滤器时,需要从django.template导入template,并从django.template.base导入Library,然后创建一个Library实例,并使用register装饰器。 下面是一个简单的自定义过滤器的创建和使用示例: 1. 在...
wiki的例子7 第七讲 通讯录8 第八讲 为通讯录增加文件导入和导出功能9 第九讲通讯录的美化,使用嵌套模板,静态文件,分页处理等10 第十讲 扩展django的模板,自定义filter11 第十一讲 用户管理和使用authentication...
3. 在该文件中导入`django`的`template`库并创建一个`Library`实例,所有自定义过滤器都将在其中注册。 4. 使用`@register.filter`装饰器注册过滤器函数。装饰器可以带`name`参数来指定过滤器的别名,不指定则默认...
在Django框架中,为了扩展模板引擎的功能,我们可以利用`filter`和`simple_tag`来为前端自定义函数。这两种方法允许我们在模板中执行更复杂的逻辑,而不必依赖后端视图来处理。下面我们将详细讲解如何使用它们,并...
总有一些情况,你会想在django template中设置临时变量,但是django 对在模板中对临时变量的赋值没有很好的开箱即用的tag 或者filter。但是还是能通过一些其他方法实现的。 1. 利用 django 自带的 with 标签实现 2. ...
3. **自定义查询逻辑**:在需要根据多个属性的组合来生成查询条件时,`django_property_filter` 提供了一种灵活的解决方案。 总的来说,`django_property_filter` 是Django开发中的一个实用工具,它扩展了Django的...