django页面分类和继承
实际开发中,会有多个html页面,这些html页面中有很多东西是重复的, 比如引入的css,js的路径,还有一些内容的重复, 为了避免进行多次重复的操作,就需要定义一个公共的页面,然后其他页面复用/继承这个公共的页面, 再加上自己本身不同的内容
1.首先,定义一个公共的base.html页面,这个页面是其他所有页面都要用到的

在head,main,js部分都会留出一个入口,等其他页面继承的时候,在里面添加内容
附上如下部分代码
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="referrer" content="origin">
<!-- TDK and ICO -->
<title>{{ web_site.title }}</title>
<meta name="description"
content="{{ web_site.desc }}">
<meta name="keywords" content="Python自学,Python爬虫,Django博客,Python web开发,个人博客">
<!--站长验证-->
<link rel="shortcut icon" href="/static/blog/img/favicon.ico" type="image/x-icon"/>
<!-- Bootstrap and font-awesome CSS -->
<link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script src="/static/js/headroom.min.js"></script>
<!-- blog CSS -->
<link href="/static/css/base.css" rel="stylesheet">
{% block css %}
{% endblock %}
<!--根据cookies判断是否启用暗色主题-->
</head>
<main>
<div class="container">
<div class="row">
{% block content %}
{% endblock %}
<div class="col-lg-4">........
</main>
<script src="/static/js/js.cookie.min.js?v=20191123.12"></script>
<script src="https://cdn.bootcss.com/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
{% block js %}
{% endblock %}
2.在其它页面继承复用base.html,比如在index.html页面
代码如下:
{% extends 'base.html' %}
{% block css %}
<link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/index1111.min.css" rel="stylesheet">
{% endblock %}
{% block content %}
<div class="col-lg-8"...>
{% endblock %}
注意:在base.html页面和index.html页面里面的入口名称要一致

浙公网安备 33010602011771号