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

  • 相关阅读:
    ubuntu下android开发工作环境搭建
    ADB命令行控制界面开关
    chromium os系统编译与环境搭建
    完整代理的简单实现
    OC协议、代理的简单使用
    OC字典的使用
    OC数组的简单使用、NSArray
    OC中NSString的使用、字符串的使用
    OC内存管理、非ARC机制、MRR机制
    OC中重写set和get方法、懒加载
  • 原文地址:https://www.cnblogs.com/wanpython/p/2798360.html
Copyright © 2020-2023  润新知