Python - Django - 母版和继承
可以把多个页面相同的部分提取出来,放在一个母板里,这些页面只需要继承这个母板就好了
通常会在母板中定义页面专用的 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 %}
<h1>Test</h1>
运行结果:

可以看到,muban_test.html 中没有写 hr,但是显示了从 muban.html 继承过来的 hr
muban_test.html 中写的 test 也没有显示出来,因为它是把块中的内容贴到母板中块的部分

views.py 函数中 return 的是 muban_test.html,而不是 muban.html
Python - Django - 母版和继承的更多相关文章
- Django(母版和继承)
day66 参考:http://www.cnblogs.com/liwenzhou/p/7931828.html#autoid-2-3-6 内容回顾 1. 模板系统(字符串替换) ...
- Django:母版、继承、组件、自定义标签
1.for循环应用 1.1for Variable Description forloop.counter 当前循环的索引值(从1开始) forloop.counter0 当前循环的索引值(从0开始) ...
- django 母版与继承
在子页面的页面最上方使用下面的语法来继承母版. {% extends 'layouts.html' %} 块: 通过在母版中使用{% block xxx %}来定义块.在子页面中通过定义母版中的blo ...
- python - django (母版与组件)
# 把多个页面通用的部分提取出来 放在一个母版中 # 其它的页面只需要继承 母版就可以 # 使用步骤:( 继承的语句要放在第一行 ) """ 1. 把公用的 HTML 部 ...
- python全栈开发day65-templates:tags、母版和继承、组件、静态文件相关、simple_tag和inclusion_tag
一.昨日内容回顾 1.MVC和MTV框架 MVC: model 模型 存写数据 view 视图 给用户展示页面 control 控制器 负责调度 传递指令 MTV: M:model 模型 OR ...
- Day062--django--模板,母版和继承
1.MVC和MTV MVC C Controller : 逻辑的控制 M Model : 存取数据 V View : 信息的展示 MTV M : model ORM操作 T: Template 模板 ...
- [python] python django web 开发 —— 15分钟送到会用(只能送你到这了)
1.安装python环境 1.1 安装python包管理器: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py 1. ...
- python——django使用mysql数据库(二)
上一篇中,我们已经讲述了如何初始化一个django数据库,这一章就来讲讲在实际的项目中如何使用我们初始化的数据库呢? 如还未进行初始化数据库操作,请参考python——django使用mysql数据库 ...
- python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码 ...
随机推荐
- POJ - 3252 - Round Numbers(数位DP)
链接: https://vjudge.net/problem/POJ-3252 题意: The cows, as you know, have no fingers or thumbs and thu ...
- usa单位换算
1.温度换算 摄氏度 C = 5/9(F-32) ≍ (F-32)/1.8 (F为华氏温度值) 华氏度 F = 1.8C + 32 (C为摄氏温度值) 3.重量换算 1品脱(pint) ≍ ...
- 洛谷 P2827 蚯蚓 题解
每日一题 day32 打卡 Analysis 我们可以想一下,对于每一秒除了被切的哪一个所有的蚯蚓都增长Q米,我们来维护3个队列,队列1表示最开始的蚯蚓,队列2表示每一次被切的蚯蚓被分开的较长的那一部 ...
- Python + Apache Kylin 让数据分析更加简单!
现如今,大数据.数据科学和机器学习不仅是技术圈的热门话题,也是当今社会的重要组成.数据就在每个人身边,同时每天正以惊人的速度快速增长,据福布斯报道:到 2025 年,每年将产生大约 175 个 Zet ...
- Kubernetes 学习10 Service资源
一.Service对应组件关系 1.在kubernetes平台之上,pod是有生命周期的,所以为了能够给对应的客户端提供一个固定的访问端点,因此我们在客户端和服务Pod之间添加一个固定的中间层,这个中 ...
- uic
uic user interface complieruic mainwindow.ui >> ui_mainwidow.h
- 替罪羊树 ------ luogu P3369 【模板】普通平衡树(Treap/SBT)
二次联通门 : luogu P3369 [模板]普通平衡树(Treap/SBT) 闲的没事,把各种平衡树都写写 比较比较... 下面是替罪羊树 #include <cstdio> #inc ...
- PCI BAR设置过程[转]
最近因为工作需要用到pci设备的BAR内容,之前看了没深刻印象,这里整理一下. PCI设备有很好的可配置型和易操作性,这很大方面要归功于其地址空间的可动态分配的特性.而动态分配地址空间就是依赖于BAR ...
- Python之☞float浮点数精度问题
Python的浮点数损失精度问题(转) 一个简单的面试题: >>>0.1+0.1+0.1 0.2 >>>0.1+0.1+0.1 0.3000000000000000 ...
- Java RabbitMQ配置和使用,基于SpringBoot
package rabbitmq.demo; import com.rabbitmq.client.AMQP; import org.junit.Test; import org.junit.runn ...