模板的继承
在一个网页中,可能会出现几个页面样式几乎不变的情况。
确实是可以在每个html文件中写重复代码,但是,假如说后期运维的话,如果需要在某一处修改数据,那用过这个代码的都得逐一修改,这样的运维成本太高了。
那在Django中就支持创建一个模板,能让html继承的模板。
在templates文件中创建一个叫 layout 的html文档。
然后把重复的代码复制进去,再在后面加一个container,
这里的container可以理解为占位符~
其他页面继承该模板的时候,只需要编写block content的内容就好。
好~
那么现在看一下,继承模板的页面的html要怎么编写?
把原来代码全部清空,写上{% extends 'layout.html' %}
然后再在里面写
{% block content %}
{% endblock %}
模板一般定义为:layout.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="{% static 'plugins/bootstrap-5.3.0-alpha1/css/bootstrap.css' %}"> </head> <body> <h1>标题</h1> <div> {% block content %} {% endblock %} </div> <h1>底部</h1> <script src="./static/js/jquery-3.7.1.min.js"></script> <script src="{% static 'plugins/bootstrap-5.3.0-alpha1/js/bootstrap.bundle.min.js' %}"></script> </body> </html>
继承模板:
{% extends 'layout.html' %} {% block content %} <h1>首页</h1> {% endblock %}