首页 > 编程 > Python > 正文

python之django母板页面的使用

2020-02-15 22:07:40
字体:
来源:转载
供稿:网友

其实就是利用{% block xxx %}   {% endblock %}的方式定义一个块,相当于占位。存放在某个html中,比如base.html

然后在需要实现这些块的文件中,使用继承{% extends "base.html" %}的方式引入母板文件,然后在{% block xxx %}......{% endblock %}块定义中实现具体的内容。

base.html示例:注意块的定义。

<!DOCTYPE html><html lang="zh-CN"><head>  <meta charset="utf-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1">  <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->  <meta name="description" content="">  <meta name="author" content="">  <link rel="icon" href="http://v3.bootcss.com/favicon.ico" rel="external nofollow" >  <link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css" rel="external nofollow" >  <title>所有的书都在这里</title>  {% block page_css %}  {% endblock %}  {% block page_js %}  {% endblock %}  <!-- Bootstrap core CSS -->  <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet">  <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->  <link href="http://v3.bootcss.com/assets/css/ie10-viewport-bug-workaround.css" rel="external nofollow" rel="stylesheet">  <!-- Custom styles for this template -->  <link href="http://v3.bootcss.com/examples/dashboard/dashboard.css" rel="external nofollow" rel="stylesheet">  <!-- Just for debugging purposes. Don't actually copy these 2 lines! -->  <!--[if lt IE 9]><script src="http://v3.bootcss.com/assets/js/ie8-responsive-file-warning.js"></script><![endif]-->  <script src="http://v3.bootcss.com/assets/js/ie-emulation-modes-warning.js"></script>  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->  <!--[if lt IE 9]>   <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>   <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>  <![endif]--></head><body>{% include "nav.html" %}<div class="container-fluid">  <div class="row">    <div class="col-sm-3 col-md-2 sidebar">      <ul class="nav nav-sidebar">        <li class="{% block book_class %}{% endblock %}"><a href="/book_list/" rel="external nofollow" >所有的书 <span class="sr-only">(current)</span></a>        </li>        <li class="{% block publisher_class %}{% endblock %}"><a href="/publisher_list/" rel="external nofollow" >出版社</a></li>        <li class="{% block author_class %}{% endblock %}"><a href="/author_list/" rel="external nofollow" >作者</a></li>      </ul>    </div>    <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">            {% block main_body %}        {#这里是每个页面不同的部分#}      {% endblock %}    </div>  </div></div><!-- Bootstrap core JavaScript================================================== --><!-- Placed at the end of the document so the pages load faster --><script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script><script>window.jQuery || document.write('<script src="http://v3.bootcss.com/assets/js/vendor/jquery.min.js"><//script>')</script><script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script><!-- Just to make our placeholder images work. Don't actually copy the next line! --><script src="http://v3.bootcss.com/assets/js/vendor/holder.min.js"></script><!-- IE10 viewport hack for Surface/desktop Windows 8 bug --><script src="http://v3.bootcss.com/assets/js/ie10-viewport-bug-workaround.js"></script></body></html>            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表