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实现简单QQ单用户机器人的方法
Jul 03 Python
详解Python中的条件判断语句
May 14 Python
Python通过90行代码搭建一个音乐搜索工具
Jul 29 Python
python迭代器与生成器详解
Mar 10 Python
python实现class对象转换成json/字典的方法
Mar 11 Python
python爬虫获取多页天涯帖子
Feb 23 Python
PyQt4实现下拉菜单可供选择并打印出来
Apr 20 Python
详解python多线程、锁、event事件机制的简单使用
Apr 27 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
利用python在excel里面直接使用sql函数的方法
Feb 08 Python
python程序控制NAO机器人行走
Apr 29 Python
Python基于yield遍历多个可迭代对象
Mar 12 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中实现图片的锐化
2006/10/09 PHP
php分页思路以及在ZF中的使用
2012/05/30 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
用python实现名片管理系统
2020/06/18 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
python 如何对logging日志封装
2020/12/02 Python
新学期开学演讲稿
2014/05/24 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
2015年幼儿园安全工作总结
2015/05/12 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
python opencv通过4坐标剪裁图片
2021/06/05 Python
Javascript设计模式之原型模式详细
2021/10/05 Javascript