`
f002489
  • 浏览: 271733 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Django模板系统——过滤器

阅读更多

过滤器,变量的显示形式的改变

一、形式:小写
{{ name | lower }}

二、串联:先转义文本到HTML,再转换每行到 <p> 标签
{{ my_text|escape|linebreaks }}

三、过滤器的参数
显示前30个字
{{ bio | truncatewords:"30" }}

格式化
{{ pub_date | date:"F j, Y" }}

过滤器列表
{{ 123|add:"5" }} 给value加上一个数值
{{ "AB'CD"|addslashes }} 单引号加上转义号,一般用于输出到javascript中
{{ "abcd"|capfirst }} 第一个字母大写
{{ "abcd"|center:"50" }} 输出指定长度的字符串,并把值对中
{{ "123spam456spam789"|cut:"spam" }} 查找删除指定字符串
{{ value|date:"F j, Y" }} 格式化日期
{{ value|default:"(N/A)" }} 值不存在,使用指定值
{{ value|default_if_none:"(N/A)" }} 值是None,使用指定值
{{ 列表变量|dictsort:"数字" }} 排序从小到大
{{ 列表变量|dictsortreversed:"数字" }} 排序从大到小
{% if 92|divisibleby:"2" %} 判断是否整除指定数字


{{ string|escape }} 转换为html实体
{{ 21984124|filesizeformat }} 以1024为基数,计算最大值,保留1位小数,增加可读性
{{ list|first }} 返回列表第一个元素
{{ "ik23hr&jqwh"|fix_ampersands }} &转为&amp;
{{ 13.414121241|floatformat }} 保留1位小数,可为负数,几种形式
{{ 13.414121241|floatformat:"2" }} 保留2位小数
{{ 23456 |get_digit:"1" }} 从个位数开始截取指定位置的1个数字


{{ list|join:", " }} 用指定分隔符连接列表
{{ list|length }} 返回列表个数
{% if 列表|length_is:"3" %} 列表个数是否指定数值
{{ "ABCD"|linebreaks }} 用新行用<p> 、 <br /> 标记包裹
{{ "ABCD"|linebreaksbr }} 用新行用<br /> 标记包裹
{{ 变量|linenumbers }} 为变量中每一行加上行号
{{ "abcd"|ljust:"50" }} 把字符串在指定宽度中对左,其它用空格填充


{{ "ABCD"|lower }} 小写
{% for i in "1abc1"|make_list %}ABCDE,{% endfor %} 把字符串或数字的字符个数作为一个列表
{{ "abcdefghijklmnopqrstuvwxyz"|phone2numeric }} 把字符转为可以对应的数字??
{{ 列表或数字|pluralize }} 单词的复数形式,如列表字符串个数大于1,返回s,否则返回空串


{{ 列表或数字|pluralize:"es" }} 指定es
{{ 列表或数字|pluralize:"y,ies" }} 指定ies替换为y
{{ object|pprint }} 显示一个对象的值
{{ 列表|random }} 返回列表的随机一项
{{ string|removetags:"br p div" }} 删除字符串中指定html标记
{{ string|rjust:"50" }} 把字符串在指定宽度中对右,其它用空格填充


{{ 列表|slice:":2" }} 切片
{{ string|slugify }} 字符串中留下减号和下划线,其它符号删除,空格用减号替换
{{ 3|stringformat:"02i" }} 字符串格式,使用Python的字符串格式语法
{{ "E<A>A</A>B<C>C</C>D"|striptags }} 剥去[X]HTML语法标记
{{ 时间变量|time:"P" }} 日期的时间部分格式
{{ datetime|timesince }} 给定日期到现在过去了多少时间
{{ datetime|timesince:"other_datetime" }} 两日期间过去了多少时间


{{ datetime|timeuntil }} 给定日期到现在过去了多少时间,与上面的区别在于2日期的前后位置。
{{ datetime|timeuntil:"other_datetime" }} 两日期间过去了多少时间
{{ "abdsadf"|title }} 首字母大写
{{ "A B C D E F"|truncatewords:"3" }} 截取指定个数的单词
{{ "<a>1<a>1<a>1</a></a></a>22<a>1</a>"|truncatewords_html:"2" }} 截取指定个数的html标记,并补完整
<ul>{{ list|unordered_list }}</ul> 多重嵌套列表展现为html的无序列表


{{ string|upper }} 全部大写
<a href="{{ link|urlencode }}">linkage</a> url编码
{{ string|urlize }} 将URLs由纯文本变为可点击的链接。(没有实验成功)
{{ string|urlizetrunc:"30" }} 同上,多个截取字符数。(同样没有实验成功)


{{ "B C D E F"|wordcount }} 单词数
{{ "a b c d e f g h i j k"|wordwrap:"5" }} 每指定数量的字符就插入回车符
{{ boolean|yesno:"Yes,No,Perhaps" }} 对三种值的返回字符串,对应是 非空,空,None

分享到:
评论

相关推荐

    django 自定义过滤器的实现

    自定义过滤器是Django模板系统的一个重要组成部分,它可以帮助开发者更灵活地处理和展示数据。通过理解如何创建和使用自定义过滤器,你可以让Django应用变得更加高效和用户友好。希望本文能够帮助你在实际开发中更好...

    Python基于Django的实战项目源码——美多商城.zip

    Django的模板语言支持变量、循环、条件判断以及过滤器等特性。 5. URL路由 Django的URL配置文件(通常在`urls.py`中)定义了URL模式和视图函数之间的映射。例如,`/product详情/`可能会映射到显示商品详情的视图。...

    django-chinese-docs pdf

    - **内建标签和过滤器**:列出Django模板系统自带的所有标签和过滤器。 - **模板API**:提供Django模板API的详细说明,包括如何自定义标签和过滤器。 - **面向程序员**:从程序员的角度出发,讲解如何利用Django模板...

    archive_ Django博客系统 v3.2 正式版 [江西新余电信].zip.zip

    3. **模板语言**:学习Django的模板语言,用于创建动态HTML页面,支持变量、控制结构和过滤器。 4. **表单处理**:Django的表单处理允许开发者方便地创建、验证和渲染HTML表单。 5. **用户认证与权限**:Django内置...

    django官方文档1.8

    - **自定义模板标签和过滤器**:提供了编写自定义模板标签和过滤器的方法。 - **编写自定义存储系统**:介绍了如何实现自定义的文件存储方案。 - **部署 Django**:提供了部署 Django 应用的各种方法和最佳实践。 - ...

    The Django Book.pdf

    **四、Django模板系统** ### 4.1 模板系统基本知识 Django的模板系统是一种用于生成动态HTML页面的工具。书中将介绍模板的基本语法,包括变量、标签和过滤器。 ### 4.2 使用模板系统 书中将演示如何在视图中加载...

    精通 Django中文版

    Django 模板支持变量插入、控制结构(如 if/else 和 for 循环)、过滤器和继承等特性,极大地提高了页面设计的效率。 URL 映射是 Django 的一大特色,通过配置 urlconf,你可以将 URL 映射到特定的视图函数上,实现...

    PythonWeb从入门到实战教程之6模板和模板引擎.zip

    在Django中,模板语言包括了变量标签({{ variable }})、控制结构(如{% if %}...{% endif %})以及过滤器(|filter_name)等,使得开发者可以轻松地处理数据和控制页面逻辑。 2. Django模板引擎: Django模板引擎...

    django 资源

    DTL允许开发者插入变量、控制结构(如if/else、for循环)、过滤器和标签,使得静态HTML能够与模型数据结合,生成动态网页。在Django中,模板通常与视图一起工作,视图将需要的数据传递给模板,模板根据这些数据生成...

    简单了解Django模板的使用

    本文介绍了Django模板系统中的两个重要方面——`include`标签的使用以及自定义模板标签的创建。通过合理运用这两种方法,可以显著提高Web应用的开发效率和代码质量。如果你对Django的其他高级特性或者模板系统的更深...

    Django参考手册-新

    手册会讲解模板语言的语法,包括变量、过滤器、标签、条件语句、循环等,并演示如何在模板中渲染模型数据。 6. **URL路由**:Django的URL配置系统是其优雅设计的一部分。手册会介绍如何定义URL模式,如何将URL映射...

    django.zip

    7. **Django模板系统**:Django的模板语言(Django Templates)是一种用于生成动态HTML的简洁语法。它支持变量、控制流和过滤器,允许开发者将业务逻辑与呈现逻辑分离。 在实际开发中,开发者会根据需求创建多个...

    Django 1.2 E-commerce

    - **第6章:支付系统集成** —— 讲解如何将第三方支付系统集成到Django项目中。 - **第7章:性能优化与部署** —— 提供一些关于性能优化和生产环境部署的建议。 本书适合有一定Python编程基础并对Web开发感兴趣的...

    DJango专栏015阶段的源码

    源码中可能包含了一系列HTML模板文件,它们使用Django模板标签和过滤器来插入变量和执行控制结构。 6. **中间件(Middleware)**:Django的中间件是实现全局功能的一种机制,如日志记录、CSRF防护等。在这一阶段,...

    Django1.0以上版本的教材-DjangoBook2.0中文版.pdf

    深入探讨模板系统的高级用法,如自定义标签、过滤器等,帮助开发者更加灵活地控制页面输出。 10. **模型高级进阶(第十章)** 继续深化对模型的理解,介绍了更复杂的数据库操作,如事务处理、自定义查询集等。 ...

    Django企业开发教程实战.zip

    - 使用模板过滤器和标签进行数据格式化和逻辑控制。 - 实现模板继承,减少代码重复,提高代码复用性。 7. **表单处理** - 创建表单类,基于模型或自定义字段定义用户输入界面。 - 在视图中处理POST请求,验证...

    A0_java_django_

    与Java的Freemarker或Thymeleaf相比,Django模板更加直观,支持变量、控制结构和过滤器。 4. **URL路由(URL Routing)**:Django的URL配置系统使得URL设计变得灵活,可以将URL模式映射到特定的视图函数,与Java的...

    毕业设计基于python+Django实现火车订票管理系统源码.zip

    开发者可以自定义模板布局,通过模板标签和过滤器来展示后台数据。此外,Django还提供了强大的URL路由系统,可以根据URL规则将请求分发到相应的视图函数。 对于初次接触Django的开发者,理解并熟练运用Django的ORM...

Global site tag (gtag.js) - Google Analytics