Django的模板是一个简单的文本文件,它可以生成任何文本格式(HTML、XML、CSV等),在本文开始之前先看一个Django模板的例子:

从这个例子中可以看到,模板标签可以是单独出现的,如extends标签;也可以是成对出现的,如block标签和for标签。而模板的主体就是一个HTML结构的文本文件,看到这里我想如果有过ASP, PHP开发经验的人都会感到很亲切,因为它们的语法非常相似,都是嵌入到HTML中的标记语言。

变量Variables

变量的基本用法:{{ variable }},当模板引擎遇到变量时会将变量替换为具体值。变量名可以包含字母数字和下划线,不能包含空格及其它特殊符号。句点(.)在变量中有特殊意义,如果模板引擎遇到了句点将会按照下面的顺序对其进行解释:

字典查找

查找属性和方法

查找下标元素

注意如果句点后面的变量是一个可以调用的方法的话,那么这个方法会按照空参数的方式调用,例如一个字典的iteritems方法可以在模板中用以下方式调用:

过滤器Filters

你可以使用过滤器来修改变量值的显示样式。过滤器的使用方式 {{ 变量|过滤器方法}}。过滤器可以连续使用,形式如: {{ 变量|过滤器方法1|过滤器方法2}}。

注意变量、管道符(|)和过滤器方法之间不能有空格。

某些过滤器还可以接收参数,例如:{{ bio|truncatewords:30 }},这句代码的意思是显示bio的前30个单词。

如果过滤器参数包含空格的话,参数就要用引号扩起来,例如:{{ list|join:", " }}。

Django大约提供了60个过滤器,具体介绍可以在Django官网看到:

https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#ref-templates-builtins-filters。

下面介绍几种常用的过滤器:

Default

如果变量是false或者空,显示default值:例如: {{ value|default:"nothing" }},如果value是false会在页面上显示nothing。

Length

显示一个字符串或者数组的长度,如:{{ value|length }}

Filesizeformat

将文件大小按照人类可读的形式显示,例如一个文件由123456789,那么显示成117.7 MB,语法形式:{{ value|filesizeformat }}

Add

加法运算:{{ value|add:"2" }}

这个方法会先按照数值来计算,如果失败了就直接将两个值拼接在一起,如连接两个数组。

Capfirst

首字母大写:{{ value|capfirst }}

cut

删除指定值,例如去掉字符串中的空格:{{ value|cut:" " }}

如果value是"String with spaces",那么输出"Stringwithspaces".

Date

格式化日期,该方法参数较多也很重要,请参考Django官网。

Dictsort

将一个字典按照某一字典项进行排序后返回,

例如,有一个字典users如下,包含三个人员信息:

按照人名进行排序:

显示样式:

Escape

将一个html字符串转意:

浏览器显示:

Join

拼接多个元素

标签Tags

For标签

循环执行标签内部代码,例如:

If,elif和else标签

和其它编程语言的if语句一样,当条件为真或不为空时,执行代码块,例如:

If标签中可以嵌套其它标签。

注释Comments

两种注释方式:

{# 这里是注释 #}

注释标签:

<转> django模板语言filter方法的更多相关文章

  1. Django(模板语言-自定义filter和simple_tag)

    Django(模板语言-自定义filter和simple_tag)   filter过滤器的主要形式:变量|函数,意思是将变量交给函数处理,而自定义filter就是自己定义函数,因为用到已有的很少. ...

  2. Django模板语言初识

    一.Django框架简介 1.MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...

  3. Django模板语言相关内容 Djan

    Django模板语言相关内容   Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...

  4. Django——模板语言相关内容

    Django模板语言相关内容   Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...

  5. Django 模板语言 路由 视图

    . 模板语言(字符串替换) . 母版和继承 . 什么时候用母版? html页面有重复的代码,把它们提取出来放到一个单独的html文件. (比如:导航条和左侧菜单) . 子页面如何使用母版? {% ex ...

  6. Django模板语言(常用语法规则)

    Django模板语言 The Django template language 模板中常用的语法规则 {最新版本的Django语法可能有改变,不支持的操作可能支持了.[HTML教程 - 基本元素/标签 ...

  7. Django模板语言与视图(view)

    常用语法 {{  }}和{% %} 变量相关的用{{}} , 逻辑相关的用{% %} 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}. 当模版引擎遇到一个变量,它将计算这个变量,然后 ...

  8. 10:django 模板语言

    Django的模板语言的目的是取得力量和易用性之间的平衡,与其他的模板语言相比,django模板语言显得更简单,更专一, django模板系统由模板,变量,过滤器,标签,注释等主要部分组成 模板 一个 ...

  9. Django模板语言,标签整理

    Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...

随机推荐

  1. 【bzoj2947】[Poi2000]促销

    2947: [Poi2000]促销 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 181  Solved: 120[Submit][Status][D ...

  2. 使用composer安装laravel5.4

    composer create-project --prefer-dist laravel/laravel blog 后面的是文件目录

  3. mysql视图总结

    http://www.2cto.com/database/201508/427083.html 一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据. ...

  4. JSP标签 <meta> 的作用

    meta标签: meta标签共有两个属性,它们分别是http-equiv属性和name属性. name 属性 : <meta name="Generator" contect ...

  5. 34-n的pi次方

    链接:https://www.nowcoder.com/acm/contest/118/B来源:牛客网 题目描述 喜爱ACM的PBY同学遇到了一道数学难题,已知底数n,请你帮他准确的计算出结果a = ...

  6. ROS naviagtion analysis: costmap_2d--StaticLayer

    博客转载自:https://blog.csdn.net/u013158492/article/details/50493246 从UML中能够看到,StaticLayer主要是在实现Layer层要求实 ...

  7. python日期,时间函数

    获取当前格式化时间: now_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) 获取当前时间戳: now_tim ...

  8. HTML5 Canvas游戏开发实战 PDF扫描版

    HTML5 Canvas游戏开发实战主要讲解使用HTML5 Canvas来开发和设计各类常见游戏的思路和技巧,在介绍HTML5 Canvas相关特性的同时,还通过游戏开发实例深入剖析了其内在原理,让读 ...

  9. TriggerAction扩展----ExInvokeCommandAction

    Wp&Win8中使用命令绑定时,除了Button控件自带命令绑定,其他的时候是用Interactivity库中的InvokeCommandAction实现的(Win8 需要额外安装第三方NuG ...

  10. Android系列一: 环境搭建

      相关软件 JAVA  JDKAndroid StudioHAXM JDK的安装和Java环境变量的设置 1.JDK下载地址: http://www.oracle.com/technetwork/j ...