Django框架学习6--templates模板标签

Django 模板标签

html页面是静态的页面,要想向html中根据用户输入不同显示不同的界面,需要用到django中的模板标签。

if模板和for模板

{% if condition1 %}
   ... display 1
{% elif condition2 %}
   ... display 2
{% else %}
   ... display 3
{% endif %}
{% for i in alist %}
    <li>{{ i.age }}</li>
{% endfor %}

ifequal/ifnotequal 模板

{% ifequal age1 age2 %}
    <h1>age1</h1>
{% endifequal %}
如上:如果age1==age2,则显示中间显示的h标签内容,否则不显示



{% ifequal a b %}
    <h1>a==b</h1>
{% else %}
    <h1>a不等于b</h1>
{% endifequal %}


ifequal 和ifnotequal 可以与else连用
注释标签
{# 这是一个注释 #}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% ifequal a b %}
    <h1>a与b相等</h1>
{% else %}
<h1>a与b相等</h1>
    {% endifequal %}
</body>
</html>
url(r"^templates$",views.template),
def template(request):
    context = {}
    context["a"]=10
    context["b"]=20
    return render_to_response("555.html",context)

修改a=20

2.include标签

{% include 'xxx.html' %}

include标签可以将html文件进行拆分,使得html文件能够复用。

如一个网站,头部和底部一般都是公用的,只有中间部分是不同的,可以将公共的top和底部抽取出来,单独做成一个html,使用时,使用include标签进行引入即可。

top.html

<section>
    <h1>顶部导航</h1>
    <p>铁马冰河入梦来的博客</p>
    <hr>
</section>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% include  'top.html' %}
{% ifequal a b %}
    <h1>a与b相等</h1>
{% else %}
<h1>a与b不相等</h1>
    {% endifequal %}
</body>
</html>

include top.html

可以include多个html界面

 

3.extends标签

通过使用extends标签可以继承父页面上的内容。

{% block content %} {% endblock content %}



可以在母模板中添加多个块标签,每个块标签取不同的名称

子模板可通过extends标签继承母模板,对于母模板中的block块,可以重写,也可以不重写
{% extends "base.html" %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>铁马冰河入梦来</title>
</head>
<body>
<h1>首页</h1>
<h1>博客</h1>
{% block blockname %}
<p>django学习框架</p>
{% endblock blockname %}
{% block content %}
<h1>子模板不重写的模块</h1>
{% endblock content %}
<h1>友情链接</h1>
<h1>关于我们</h1>
</body>
</html>

母模板base.html

子模板son.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>子页面</title>
</head>
<body>
<h1>今天是个好日子</h1>
{% extends "base.html" %}
{% block blockname %}
    <p>python基础学习</p>
{% endblock blockname %}
</body>
</html>
def extend(request):
    return render(request, "son.html")

访问后界面:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值