Monthly Archives: 08月 2007

Django学习笔记之模板

模板是一个文本文件.可以是HTML,XML,CSV甚至其他任意格式的文本. 模板有自己的元素: 一.Variables(变量): 变量的写法是:{{variable}}或{{book.name}},使用”.”来获得对象的属性.与Freemarker等流行模板类似. 二.filters(过滤): 我们可以通过过滤器来改变变量的显示,用法: {{name|lower}}效果是将名字全部变成小写. 过滤器可以联用,只要在后面跟着写上就OK了. 过滤器还可以加参数:{{ bio|truncatewords:30 }},如果Filter的参数带有空格,那个这个参数必须括起来: {{ list|join:”, ” }} 三、tags(标签): 标签看起来是这样的:{% tag %},与Jsp Tag一样,有单一Tag,也有组合Tag,即有开始Tag及结束Tag。 四、Comments(注释): 注释是这样写的{# 这里是注释 #} 五、模板继承: 这是Django模板最强,也是最复杂的部分。利用模板继承机制,你可以创建一个骨架模板,里面包含一些公用内容。而那些个性内容则通过定义block(块)来允许子模板去重载。(像极了Java的类继承!) 块是使用block标签来实现的。下面来看一个例子就完全明白了: 1,这是基础模板,传说中的骨架。命名为base.html <!DOCTYPE html PUBLIC ”-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”> <head> <link rel=”stylesheet” href=”style.css” /> <title>{% block title %}My amazing site{% endblock %}</title> </head> <body> <div id=”sidebar”> {% block sidebar %} <ul> <li><a href=”/”>Home</a></li> <li><a href=”/blog/”>Blog</a></li> </ul> {% endblock %} </div> <div id=”content”> {% block content %}{% endblock %} </div> … Continue reading

Posted in 技术 | Tagged , | Leave a comment