Django-模板标签

模板标签

模板变量:
{{ 变量名 }}

模板标签  有开始有结束
{% 变量名 %}

1.for 
{% for i in li%}  #li可为模板变量,i则为模板变量的值
{% endfor %}
 forloop :
  	1)  forloop.counter  当前循环次数,下标从1开始
  	2)  forloop.counter0 同上,下标从0开始
  	3)  forloop.recounter 与forloop.counter一样,下标从大到小 eg:4,3,2,1
  	4)  forloop.recountet0 与forloop.counter0一样,下标从大到小 ge:3,2,1,0
   	5)  forloop.frist 返回bool,若此循环是第一次循环则返回True,否则返回False
    6)  forloop.last 返回bool,若此循环是最后一次循环则返回True,否则返回False

2.if elif else  #需注意 等等两边都是有空格的
	1)  {% if temp == null %} 
	2)  {% if temp == null %}
    	{% elif temp == 0 %}
         {% else temp == 'str' %}
    #最后需加上 {% endif %}

3. ifequal ifnotequal
	1) {% ifequal num None %}   # 相当于 {% if num == None %}
    	{% endifequal %}
    2) {% ifnotequal num None %} # 相当于 {% if num != None %}
    	{% endifnotequal %}
4.for in empty
	1) {% for i in re %}
    	<p>{{ i }}</p>
    	{% empty %}
        	<p>空数据</p>
        {% endfor %}
        #若i为空值则输出空数据,不为空则输出i
5. with  #别名变量的使用必须在endwith之前
    {% with wuxuanyang as wxy %}
        {{ wxy }}
    {% endwith %}

6.autoescape  #批量关闭django的防止转义  
 html = "<h1>this is python </h1>"
	{% autoescape off %}
    	{{ html }}
    {% endautoescape %}
    
7.url 
{% url '主路由别名/子路由别名' %}
# 可以在url模板标签后带参数,但是在路由分配和视图函数中必须有变量去接收这个函数

forloop.counter 与 forloop.parentloop.counter

1.
    <body>
    {% for char in qu %}
        <p style="color: red">这是外层循环次数:{{ forloop.counter }}</p>
        {% for num in re %}
            <span style="color: green">这是内层循环次数: {{ forloop.counter }}</span>
            <span >{{ char }} and {{ num }}</span>
        {% endfor %}
        <p></p>
    {% endfor %}
    </body>

2.
   eg:
    <body>
{% for char in qu %}
    <p style="color: red">这是外层循环次数:{{ forloop.counter }}</p>
    {% for num in re %}
        <span style="color: green">这是外层循环次数: {{ forloop.parentloop.counter }}</span>
        <span >{{ char }} and {{ num }}</span>
    {% endfor %}
    <p></p>
{% endfor %}
 </body>

运行结果:
	forloop.counter只会统计本层循环的次数,而forloop.parentloop.counter 统计的是上一层循环的次数

模板继承与引用

#被继承模板:
{% block name %}
{{ body }}
{% endblock name %}

# 继承模板
{% load '模板路径' %}

{% block name %} 
{{ block.super }}  #继承模板内容
{% endblock name %}

## 根据block后的name进行继承分类,方便重写
{% block name %}
{% endblock %}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值