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函数作用域的LEGB顺序
May 14 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Nov 16 Python
浅谈Python中range和xrange的区别
Dec 20 Python
python抓取网页中链接的静态图片
Jan 29 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
解决Python3中的中文字符编码的问题
Jul 18 Python
python找出完数的方法
Nov 12 Python
python实现AES和RSA加解密的方法
Mar 28 Python
pycharm访问mysql数据库的方法步骤
Jun 18 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 Python
Python+AutoIt实现界面工具开发过程详解
Aug 07 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
Nov 18 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 INI配置文件的解析实现分析
2011/01/04 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
javascript 年月日联动实现核心代码
2009/12/21 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
HTML5开发Kinect体感游戏的实例应用
2017/09/18 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
python实现html转ubb代码(html2ubb)
2014/07/03 Python
python实现上传下载文件功能
2020/11/19 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
django 外键model的互相读取方法
2018/12/15 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
创建索引时需要注意的事项
2013/05/13 面试题
我的动漫时代的创业计划书范文
2014/01/27 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
运动会200米广播稿
2015/08/19 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers