• 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页面里面的入口名称要一致

  • 相关阅读:
    [Linux] XShell 远程 Ubuntu 云主机,图形化界面打开Chrome
    [UI] 工具 & 框架
    你不知道的<input type="file">的小秘密
    vue3逻辑分离和页面快速展示数据
    vue中props参数的使用
    vue3.0中reactive的正确使用姿势
    CF986B Petr and Permutations(逆序对)
    洛谷P1972 [SDOI2009]HH的项链(莫队)44分做法
    2021牛客暑期多校训练营5 B. Boxes(概率期望)
    2021牛客暑期多校训练营5 K. King of Range(单调队列)详细题解
  • 原文地址:https://www.cnblogs.com/liulilitoday/p/13580738.html
Copyright © 2020-2023  润新知