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执行外部程序的常用方法小结
Mar 21 Python
python线程、进程和协程详解
Jul 19 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
详解Python3中的迭代器和生成器及其区别
Oct 09 Python
Python寻找两个有序数组的中位数实例详解
Dec 05 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
Jun 27 Python
flask开启多线程的具体方法
Aug 02 Python
Python性能测试工具Locust安装及使用
Dec 01 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
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
详解vue路由
2020/08/05 Javascript
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
Python 基础知识之字符串处理
2017/01/06 Python
对pandas中Series的map函数详解
2018/07/25 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
2020/02/11 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
C++如何引用一个已经定义过的全局变量
2014/08/25 面试题
介绍一下sql server的安全性
2014/08/10 面试题
2014年父亲节活动方案
2014/03/06 职场文书
售后服务承诺书范文
2014/03/26 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
python中24小时制转换为12小时制的方法
2021/06/18 Python