django常用的内建的模板标签和过滤器

发布时间:2017-09-10 10:16:39
django常用的内建的模板标签和过滤器

> 综合编程 > 其他综合 > 正文 django常用的内建的模板标签和过滤器 2014-02-15 来源:django常用的内建的模板标签和过滤器

我要投稿 现在有一个News类,用来存储新闻信息。它具有NewsTitle,NewsContent,NewsDate和NewsSource等几个属性。newslist是一个news对象的序列。


模板标签
include 载入一个模板,并根据上下文渲染它。用于在一个模板中包含其他模板。
extends 标记当前模板扩展一个父模板。 这个标签有两种用法: 1. % extends "xxx.html" % 直接使用要扩展的父模板的名字“xxx.html” 2. % extends variable % 用变量variable的值来指定父模板,如果变量是一个字符串,Django会把字符串的值当做父模板的文件名,如果变量是一个Template对象,Django会把这个对象作为父模板。 在使用extends标签时,必须保证其为模板的第一个模板标记。否则,模板继承将不起作用。
block % block %标签告诉模板引擎,子模板可以重载这些部分。一般来说,如果发现在多个模板之间拷贝代码,则应该考虑将该代码放置到父模板的某个block中。基础模板中的%block%越多越好。子模板不必定义父模板中所有的代码块,只需要用合理的缺省值对一些代码块进行填充,然后只对子模板所需要的代码块进行重定义。不可以在同一个模板中定义多个同名的block。 % block body_content % % endblock%
for 轮询数组中的每一个元素 {% for news in newslist %} {% endfor %}

在循环过程中 for 循环会设置以下的一系列变量:

Variable Description

forloop.counter 当前循环次数 (1-indexed)

forloop.counter0 当前循环次数 (0-indexed)

forloop.revcounter 倒序循环时当前循环次数(1-indexed)

forloop.revcounter0 倒序循环时当前循环次数(0-indexed)

forloop.first 如果当前循环是循环过程的第一次则为True

forloop.last 如果当前循环是循环过程的最后一次则为True

forloop.parentloop 对嵌套循环, 当前循环之上的循环


if if标签用来判断一个变量是否为真,如果为真,则输出区块中的内容。 {% if news.NewsTitle %}

new.NewsTitle

} {% else %}

新闻标题为空

{% endif %}
ifequal 如果两个参数相等,输出该块的内容。 % ifequal type "新闻"% 输出新闻内容 % endifequal %
ifnotequal 和ifequal类似,不过它用来测试两个参数是不相等的。
firstof 输出传入的第一个不是False的变量,如果被传递的变量都为False,则什么也不输出。 % firstof var1 var2 var3 % 这等同于如下内容: % if var1 % {var1} % else %% if var2 % {var2} % else %% if var3 % {var3} % endif %% endif %% endif %
过滤器
add 向变量中添加值 {add:"云计算"}
slice 返回字符串的指定长度的子串,站群,如下所示,提取出NewsContent的前200个字符 {slice:":200"}
first 返回列表中的第一个元素。
length 返回值的长度。

upper 将一个字符串完全转化为小写。

点击复制链接 与好友分享!回本站首页 您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力 上一篇:Binary Tree Traversal 3 种 下一篇: 相关文章

小白装django+apache+wsgi+mysql

XML常用方法

枚举的一些常用操作

gdb,strace那些不常用的功能

汇编常用命令、指令一览

vimdiff常用方法

NO.83 常用二维码对比(QR、PDF417

COM库常用的函数

maven常用命令备忘

SSH框架应用中常用Jar包用途介绍

图文推荐

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网络推广 https://www.feimao666.com