django学习手记 二


                                                                阅读djangobook 第四章 模板系统 手记
本章一步一步从简到繁,讲述web开发过程中遇到的问题。介绍django如何是让你更快速的开发web站点。
1,用{{}}包围的是变量,如{{person_name}},这表示把给定变量的值插入
2,用{%%}包围的是块标签,如{%if ordered_warranty%}
3,| 表示过滤器,类似于Unix,过滤器使用管道字符“|”
在Django模板系统中使用(.)字符来得到字典的key,属性,对象的索引和方法.
  • 小数点也可以用来调用列表的索引,但负数的索引是不合法的。
    • 方法调用仅仅在它没有参数时起作用
      当模板系统遇到变量名里有小数点时会按以下顺序查找:
      {{foo.bar}}
      1,字典查找,如foo["bar"]
      2,属性查找,如foo.bar
      3,方法调用,如foo.bar()
      3,列表的索引查找,如foo[bar]
      if/else
      • {% if %}标签计算一个变量值,如果是“true”,即它存在、不为空并且不是false的boolean值
      • 系统则会显示{% if %}和{% endif %}
      • 接受and,or或者not来测试多个变量值或者否定一个给定的变量
      • 不允许同一标签里同时出现and和or
      • 单多次使用同一个逻辑符号是合法的
      for
      • {% for %}标签允许你按顺序遍历一个序列中的各个元素
      • 系统不支持中断循环
      • {% for %}标签内置了一个forloop模板变量,含有一些属性可以提供给你一些关于循环的信息

      ifequal/ifnotequal
      • strings,integers和小数都可以作为{% ifequal %}的参数

      注释
      和HTML或编程语言如Python一样,Django模板语言允许注释{# #}
      哲学和限制
      Django模板系统并不是一个严格意义上的编程语言,所以它并不允许我们执行Python语句