Python - Django - 母版和继承

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

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

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 %}

运行结果:

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

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

原文地址:https://www.cnblogs.com/sch01ar/p/11265187.html

时间: 2024-11-05 11:39:59

Python - Django - 母版和继承的相关文章

模板,母版和继承

1.MVC和MTV MVC C Controller : 逻辑的控制 M Model : 存取数据 V View : 信息的展示 MTV M : model ORM操作 T: Template 模板 V: View 业务逻辑 2.变量 {{ 变量 }} 使用.来获相关属性和方法 标签 {% %} 3.过滤器 语法: {{ value|filter_name:参数 }} # 参数最多只有一个 内置过滤器 default 提供默认值 '|'左右没有空格没有空格没有空格 {{ kong|default

[python] python django web 开发 —— 15分钟送到会用(只能送你到这了)

1.安装python环境 1.1 安装python包管理器: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py ? 1.2 安装python虚拟环境virtualenv virtualenvwrapper 首先说明下为什么要装这两个包: First, it's important to understand that a virtual environment is a special tool used to ke

用python+django+twistd 开发一个属于自己的运维系统

开源的运维系统不少,比如nagios.zabbix.cati等等,但是遇到自己个性化的运维需求的时候,总是显的力不从心!最近在学习python,所以就考虑用python+django+twisted来定做一个完全个性化的运维系统. 运维系统有几个主要的功能:监控.分析.报警.更甚者直接根据分析的结果进行反应操作.而以上几点通过上述的框架可以比较容易的实现. 下面上图说明: 使用freemind整理了下思路: 下面是一些代码段,完整的代码下载见文档底部: Server: #!/usr/bin/en

python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 注: 本节代码是基于 Django 1.8,但 Django 1.4 - Djagno 1.9 操作流程也是一样的. 后文给出示例代码可以在 Django 1.4.x 到 Django 1.9.x 上运行. 不过还是强调一点,一点要动手敲代码!不要偷懒哦,动手才能学到真东西. 1. 创建一个 zqxt_tmpl 项目,和一个 名

初识python django, 让我们一起进入python的世界吧

这几天花时间学习了一下python django,正如某人所说,掌握另外一门语言是有必要的,同样我也作出了自己的选择.从这几天的学习中,我确实也发现其他语言及其框架等确实有一种与众不同的感觉.下面我把自己这几天看到的东西稍微作了一下总结,本文并不是django的教程,而是在麦子学院参加学习之后对django的一些自己的理解,可能有些不成熟的地方,希望大家不要吝惜手中的砖头. 一 django的orm 如果有人问我喜欢django的什么,我会耗不犹豫的告诉你是django的orm,这个想法的产生完

使用python+django+twistd 开发自己的操作和维护系统的一个

许多开源操作系统和维护系统,例nagios.zabbix.cati等等,但是,当他们得到的时间自己的个性化操作和维护需求,始终无力! 最近的一项研究python.因此,我们认为python+django+twisted要定制一个完全个性化的操作和维护系统. 有几个基本的功能:监控.分析.报警.更甚者直接依据分析的结果进行反应操作.而以上几点通过上述的框架能够比較easy的实现. 以下上图说明: 使用freemind整理了下思路: 以下是一些代码段,完整的代码下载见文档底部: Server: #!

正宗Djiango框架(Bootstrap 、Django母版、Cookie)

一. Bootstrap 一个包含CSS和JS的一个代码库   -- 样式 -- 响应式 @media关键字 --导航条 @media(nin-width:768px){ .header{ color:red } } --- 栅格(12分块,几种屏幕显示方式) 除了.col-xs总是水平排列,其他开始是堆叠在一起的,当大于这些阈值时将变为水平排列 <div style="background-color: #dddddd"> //大屏幕min-width:1170px &l

python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API

python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 本节的代码:(Django 1.6, Python 2.7 测试环境) 大

Nginx + uWSGI + Python + Django部署实例

Nginx: Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎.能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型. 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器