django练手(五):优化模板的功能

优化目的:给模板留空,使其它网页可以在空白处随意编辑,但不影响模板的内容。
留空的方法是:在合适的位置插入
{% block 位置名称 %} {% endblock %}代码块,其它网页可以在代码块标明的位置修改。步骤如下:

一.折叠basic.html关于导航部分的代码

折叠后如图:
image

二.插入代码块的实例:

我计划在模板上插入四个可变动部分,分别是:网页标题,网页内容,CSS和JS。既然如此,我在basic.html网页的,,,之间的合适位置分别插入了代码块。插入后的代码如下:

<!DOCTYPE html>
<!--引入静态文件-->
{% load static %}
<html lang="en">
<head>

    <meta charset="UTF-8">
    <title>
        {% block title %}

        {% endblock %}
    </title>
    <!--引入bootstrap-->
    <link rel="stylesheet" href="{% static 'plugin/bootstrap-3.4.1-dist/css/bootstrap.min.css' %}">
    <!--css代码块开始-->
    {% block css %}

    {% endblock %}
    <!--css代码块结束-->

</head>
<body>
### 为便于阅读,这里省略了导航的代码。实际使用中把导航代码放到这个位置即可。
<!--内容代码块开始-->
{% block content %}
{% endblock %}
<!--内容代码块结束-->
<!--引入jquery-->
<script type="text/javascript" src="{% static 'js/jquery-3.7.1.js' %}"></script>
<!--引入bootstrap中的js代码-->
<script type="text/javascript" src="{% static 'plugin/bootstrap-3.4.1-dist/js/bootstrap.min.js' %}"></script>
<!--js代码块开始-->
{% block js %}

{% endblock %}
<!--js代码块结束-->
</body>
</html>

三.在index.html中使用模板

  1. 在index.html中删除所有内容。

  2. 在index.html中增加以下代码:

     {% extends 'layout/basic.html' %}
     {% block title %}
     网站标题
     {% endblock %}
     {% block css %}
    
     {% endblock %}
     {% block content %}
     网站内容部分
     {% endblock %}
     {% block js %}
    
     {% endblock %}
    

四.查看效果

运行项目,打开127.0.0.1:8000,查看index.html的效果如下图:
image
从图中可以看出,网站的标题、网站内容已经被修改。导航部分完整的保留了下来。

posted @ 2023-12-31 09:57  喜气洋洋白云山  阅读(109)  评论(0编辑  收藏  举报