Python Web开发Django、Flask之Templates

最近在学使用Flask开发网站,同样是Python Web框架,django和flask有许多共同点。

今天说下django template extends

我之前写php的时候一般把公用的模板比如页面头部和页面底部全部分离出来,
然后用require 'footer.php' 等
这样如果要修改头部后者尾部连接的话。只要修改2个文件就可以了。
开始我觉的这个已经非常好用了。但是我接触了django以后。发现django模板的继承功能
比php的还更强大。。

比如我们写一个index.php
<html>
<head>
<title>
test
</title>
<div id="daohang">
首页 python  python教程 django教程 关于老王python
</div>
</head>
<body>
this is index
</body>
</html>

如果是php的话:
我会新建立一个header.php
然后把
<html>
....
</head>
之间的内容全部放到header.php里
再在index.php里去调用header.php
index.php现在内容是:
<?php require_once('header.php');?>
<body>
this is index
</body>
</html>

如果是django的话
我会新建立一个base.html主模板文件,这个主模板文件主要是描述整体的架构:
base.html:
<html>
<head>
<title>
test
</title>
<div id="daohang">
首页 python  python教程 django教程 django教程 关于老王python
</div>
</head>
<body>
{%block content%}
this is index
{%endblock %}
</body>
</html>

如果其他类别的页面,比如list.html页面,他的头部和底部都和首页一样。如果是php的话。
list.html这样写:
<?php require_once('header.php');?>
<body>
this is list
</body>
</html>
而如果用django template的extends那就方便了
list.html:
{%entends base.html %}这里定义了extends的话,我们定义的子模板就可以继承父模板了
<body>
{%block content%}
this is list  #这里定义了block的话,我们定义的子模板就可以重写父模板定义的那部分内容。
{%endblock%}

</body>
</html>
通过django template和php的比较感觉django开发大项目灵活性和效率都会比php快。。
但是php的速度比django template会快很多。哈哈。每个方法都有优势和短处,该用什么时候用什么。。

在前几篇,我写了一篇关于django哲学的,有兴趣的可以看看。

作者:老王@python python教程
老王python,提供pythn相关的python教程和python下载,希望大家能够喜欢


转自:http://www.cnblogs.com/wanpython/archive/2012/12/02/2798360.html

参考:http://www.blogjava.net/pts/archive/2006/11/30/84666.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值