Django开发网站(三)

模板详述

{% tag%} {%endtag%}

{{variable}}

{# comment#}

 

 

模板变量:

t=template.loader.get_template('bar.html')

c=template.Context({'var':value})

html=t.render(c)

return HttpResponse(html)

解析:

第1句是加载一个已有的模板,其中这个模板中含有变量var,如{{var}};

第2句是生成上下变量,该变量可以是字典、属性、方法或列表,其中在模板中分别调用形式为foo['bar']、foo.bar、foo.bar()、foo[bar]

第3句是将变量值渲染到模板中,

第4句是返回响应

其实上面的4句可以简写成1句:

return render_to_response('bar.html',{'var':value})或

return render_to_response('bar.html',locals())

 

模板标签:

if标签

{% if is_ture %}

 .....

{% else %}

.....

{% endif %}

for标签

{% for athlete in athlete_list %}
    <li>{{ athlete.name }}</li>
{% endfor %}

empty标签

{% for athlete in athlete_list %}
    <li>{{ athlete.name }}</li>
{% empty %}
    <li>Sorry, no athlete in this list!</li>
{% endfor %}

ifequal标签

{% ifequal user.id comment.user_id %}
    ...
{% endifequal %}

ifchanged标签

{% for date in days %}
    {% ifchanged date.date %} {{ date.date }} {% endifchanged %}
    {% ifchanged date.hour date.date %}
        {{ date.hour }}
    {% endifchanged %}
{% endfor %}

with标签

{% with business.employees.count as total %}
    {{ total }} employee{{ total|pluralize }}
{% endwith %}

 

 

模板继承:

block标签

base.html

{% block title %}{% endblock %}

extends.html

{% extends "base.html" %}

{% block title %}My to-do list{% endblock %}

 

 

 

posted on 2013-09-28 18:32  鹰之翔  阅读(169)  评论(0编辑  收藏  举报

导航