zoukankan      html  css  js  c++  java
  • django template extends

    今天说下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下载,希望大家能够喜欢

  • 相关阅读:
    mysql如何修改密码,root密码忘记怎么办?
    杂碎知识点
    mysql的数据类型4---字符串类型
    mysql的数据类型3---日期与时间类型
    mysql的数据类型1---浮点和定点类型
    mysql的数据类型1---整数类型
    安卓学习简记:基础知识(一)
    使用eclipse学习java第三课
    使用eclipse学习java第二课
    一些C和C++的常见问题集锦 ----不停更新
  • 原文地址:https://www.cnblogs.com/wanpython/p/2798360.html
Copyright © 2011-2022 走看看