tml代码和模板代码,比如if-else,for,dotted语法(访问数据)等。这里先介绍一些基本的,关于html不多说。
- 模板代码使用普通{%%}包围,还有比如{%url%}语法
- {{模板中的数据}}
- {%if %} {%else %} {%endif %}
- {%for %} {%endfor%}
- latest_question_list为views.py传递过来的参数,可以使用点语法访问数据,支持的数据格式有值传递和引用(包括:list,dic,tuple,对象属性,对象方法(没有其他参数,必须有返回值)),使用点语法的时候Django搜索参数的顺序是:字典,对象属性,对象方法,list
url命名空间
<li><a href="{% url 'polls.detail' question.id %}">{{ question.question_text }}</a></li>
在urls.py文件中通过申明一个全局变量app_name就是url的命名空间,在{%url %}语法中就可以使用app_name+name 的方式引用url,比如‘polls.detail’说明使用哪一个url匹配,question_id为传递给url匹配的参数
总结
除了学习Django的基本知识,还学习(膜拜)了Django的精巧设计,松耦合
- Django对获取单个对象的时候Http404异常做了封装,解耦model和view
- 使用{%url %}语法不需要将url硬编码在template文件中,达到和url映射解耦的目的
完整代码
http://pan.baidu.com/s/1kUFv5lH