Python  Django 母版和继承解析


Posted in Python onAugust 09, 2019

可以把多个页面相同的部分提取出来,放在一个母板里,这些页面只需要继承这个母板就好了

通常会在母板中定义页面专用的 CSS 块和 JS 块,方便子页面替换

定义块:

{% block 名字 %}
{% endblock %}

views.py 中添加函数:

from django.shortcuts import render, redirect, HttpResponse
from app01 import models
import datetime
def muban_test(request):
  return render(request, "muban_test.html")

urls.py 中添加对应关系:

from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
  # 母板
  url(r'^muban_test/', views.muban_test),
]

muban.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<hr>
{# 定义母板 #}
{% block page-main %}
{% endblock %}
<hr>
</body>
</html>

muban_test.html:

{# 首先继承母板 #}
{% extends 'muban.html' %}
{# 这里的名字 page-main 和继承的母板的名字要相符 #}
{% block page-main %}
  <h1>hello world</h1>
{% endblock %}<br data-filtered="filtered"><br data-filtered="filtered"><h1>Test</h1>

运行结果:

Python  Django 母版和继承解析

可以看到,muban_test.html 中没有写 hr,但是显示了从 muban.html 继承过来的 hr

muban_test.html 中写的 test 也没有显示出来,因为它是把块中的内容贴到母板中块的部分

Python  Django 母版和继承解析

views.py 函数中 return 的是 muban_test.html,而不是 muban.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获取文件扩展名的方法
Jul 06 Python
Python基于pygame实现的font游戏字体(附源码)
Nov 11 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
Feb 18 Python
python开启摄像头以及深度学习实现目标检测方法
Aug 03 Python
python实现维吉尼亚加密法
Mar 20 Python
Python Flask框架扩展操作示例
May 03 Python
python频繁写入文件时提速的方法
Jun 26 Python
python pytest进阶之fixture详解
Jun 27 Python
django将数组传递给前台模板的方法
Aug 06 Python
python的移位操作实现详解
Aug 21 Python
Python进程的通信Queue、Pipe实例分析
Mar 30 Python
scrapy实践之翻页爬取的实现
Jan 05 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
Aug 09 #Python
python实现BP神经网络回归预测模型
Aug 09 #Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 #Python
解决Django后台ManyToManyField显示成Object的问题
Aug 09 #Python
详解Python中的正斜杠与反斜杠
Aug 09 #Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 #Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
Aug 09 #Python
You might like
PHP 递归效率分析
2009/11/24 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
激活 ActiveX 控件
2006/10/09 Javascript
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
告诉大家什么是JSON
2008/06/10 Javascript
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
django如何通过类视图使用装饰器
2019/07/24 Python
python内打印变量之%和f的实例
2020/02/19 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
linux面试题参考答案(7)
2014/07/24 面试题
热能动力工程毕业生自荐信
2013/11/07 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
党员承诺书格式
2014/05/21 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
演讲稿:态度决定一切
2019/04/02 职场文书
浅谈JS的二进制家族
2021/05/09 Javascript