Django学习笔记第6记

来源:互联网 发布:阿里云服务器攻击 编辑:程序博客网 时间:2024/06/01 08:10
一、模板语言

变量

变量的形式:{{ variable }}

使用句点 “.” 可以访问变量的属性.

例如{{ section.title }} 会被 section 对象的 title 属性替换


标签

{% 标签 %}

{% if %}标签计算一个变量值,如果是“true”,即它存在、不为空并且不是false的boolean值,系统则会显示{% if %}和{% endif %}间的所有内容
{% if %}标签接受and,or或者not来测试多个变量值或者否定一个给定的变量,但不允许同时出现and和or

{% for %}标签允许你按顺序遍历一个序列中的各个元素 
Python的for语句语法为for X in Y,X是用来遍历Y的变量,每次循环模板系统都会渲染{% for %}和{% endfor %}之间的所有内容 
在标签里添加reversed来反序循环列表
{% for %}标签内置了一个forloop模板变量,这个变量含有一些属性可以提供给你一些关于循环的信息 
1,forloop.counter表示循环的次数,它从1开始计数,第一次循环设为1,例如: 
代码
  1. {% for item in todo_list %}   
  2.     <p>{{ forloop.counter }}: {{ item }}</p>  
  3. {% endfor %}  
2,forloop.counter0类似于forloop.counter,但它是从0开始计数,第一次循环设为0 
3,forloop.revcounter表示循环中剩下的items数量,第一次循环时设为items总数,最后一次设为1 
4,forloop.revcounter0类似于forloop.revcounter,但它是表示的数量少一个,即最后一次循环时设为0 
5,forloop.first当第一次循环时值为True,在特别情况下很有用
6,forloop.last当最后一次循环时值为True
7,forloop.parentloop在嵌套循环中表示父循环的forloop

注释 
和HTML或编程语言如Python一样,Django模板语言允许注释{# #}

过滤器

1,addslashed,在任何后斜线,单引号,双引号前添加一个后斜线 
当你把一些文本输出到一个JavaScript字符串时这会十分有用 
2,date,根据一个格式化string参数来格式化date或datetime对象,例如: 

代码
  1. {{ pub_date|date:"F j, Y" }}  


格式化string会在附录6定义 
3,escape,避免给定的string里出现and符,引号,尖括号 
当你处理用户提交的数据和确认合法的XML和XHTML数据时这将很有用 
escape将作如下的一些转换: 

代码
  1. Converts & to &   
  2. Converts < to <   
  3. Converts > to >   
  4. Converts "(双引号) to "   
  5. Converts '(单引号) to &#39;   


4,length,返回值的长度,你可以在一个list或string上做此操作 
或者在任何知道怎样决定自己的长度的Python对象上做此操作(即有一个__len__()方法的对象)


0 0
原创粉丝点击