本文实例讲述了Django框架下静态模板的继承操作。分享给大家供大家参考,具体如下:
前言:第一篇博客,毕业校招在即,抽空把做过的项目都整理一下。
开发环境:python3.4,django1.8
初入python和django做项目,遇到很多前端页面代码冗余的情况,特别是头部和脚部,代码都是一样的。最开始是代码一直复制粘贴,后来发现Django自带的模板继承很好用。本人新手,仅发表个人经验,确实觉得很受用。欢迎大家指导。
①. 定义一个基础模板,该框架之后由子模板继承。
命名为base.html,这个页面主要放公用部分的代码,各个子页面都可以继承这个页面的样式。
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>{% block title %}首页{% endblock %}</title>
- {% block js %} {% endblock %}
- {% block css %} {% endblock %}
- </head>
- <body>
- {% block content %}{% endblock %}
- </body>
- </html>
-
②. 编写各个子模板。
如下所示,{% extends ‘base.html' %}作为基础模板,必须放在第一行才可以识别。
{% block %}这个标签,告诉模板引擎,子模板可以重载这些
{% include %}允许模板中包含其他模板。
注意css和js等静态文件,是和html不同的识别方式。
- {% extends 'base.html' %}
- <!-- 该页面不允许出现js以及css代码,content代码可直接写在本文件中,下面只是content的实例代码 -->
- {% block title %}
- <!-- 此处写页面标题 -->
- {% endblock %}
- {% block js %}
- <!-- 此处填充js链接 -->
- <script type="text/javascript" src="..."></script>
- {% endblock %}
- {% block css %}
- <!-- 此处填充css链接 -->
- {% endblock %}
- {% block content %}
- <!-- 此处填充页面主体内容 -->
- {% include 'taskApp/cjjdglContent.html' %}
- {% endblock %}
-
这种方式用起来,不仅改起来便捷,代码量也显然减少了不少。
希望本文所述对大家基于Django框架的Python程序设计有所帮助。