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 %}<br data-filtered="filtered"><br data-filtered="filtered"><h1>Test</h1>
运行结果:
可以看到,muban_test.html 中没有写 hr,但是显示了从 muban.html 继承过来的 hr
muban_test.html 中写的 test 也没有显示出来,因为它是把块中的内容贴到母板中块的部分
views.py 函数中 return 的是 muban_test.html,而不是 muban.html
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
本文实例讲述了Django框架模板语言.分享给大家供大家参考,具体如下: 模板语言 模板语言简称为DTL(Django Template Language) 模板变量 模板变量名由数字,字母,下划线和点组成,不能以下划线开头. 使用:{{模板变量名}} def index2(request): '''模板加载顺序''' return render(request, 'booktest/index2.html') # /temp_var def temp_var(request): '''模板变量
-
django admin后台添加导出excel功能示例代码
Django功能强大不单在于他先进的编程理念,很多现有的功能模块更是可以直接拿来使用,比如这个牛掰的admin模块,可以作为一个很好的信息登记管理系统. admin模块中的actioin是可以自定义添加的,比如这次要介绍的导出excel功能,就可以在action中触发. 本文将详细介绍如何导出admin中录入的数据为excel,可以直接提交给你的leader观看. 首先我们要安装 xlwt 这个工具模块: pip install xlwt import的准备 修改admin.py: #-*-co
-
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
Django项目中模板标签及模板的继承与引用 常见模板标签 {% static %} {% for x in range(x) %}{% endfor %} 循环的序号{% forloop %} 循环的序号反向排列,从1开始计算,从0开始计算在后面加上0{% forloop.revcounter0 %} {% if condition1 %}sentence1{% else condition2 %}sentence2{% endif %} 模板标签url反向解析 视图函数 def studen
-
Python django框架应用中实现获取访问者ip地址示例
本文实例讲述了Python django框架应用中实现获取访问者ip地址.分享给大家供大家参考,具体如下: 在django官方文档中有一段对request.META的解释: HttpRequest.META A standard Python dictionary containing all available HTTP headers. Available headers depend on the client and server, but here are some examples:
-
Django模板继承 extend标签实例代码详解
在 views.py 上修改 ... def ordered(req): return render(req, "ordered.html") def shopping_car(req): return render(req, "shopping_car.html") 在 urls.py 上修改 ... path('ordered/', views.ordered), path('shopping_car/', views.shopping_car), ... 在
-
详解Python的Django框架中的模版继承
在实际应用中,你将用 Django 模板系统来创建整个 HTML 页面. 这就带来一个常见的 Web 开发问题: 在整个网站中,如何减少共用页面区域(比如站点导航)所引起的重复和冗余代码? 解决该问题的传统做法是使用 服务器端的 includes ,你可以在 HTML 页面中使用该指令将一个网页嵌入到另一个中. 事实上, Django 通过刚才讲述的 {% include %} 支持了这种方法. 但是用 Django 解决此类问题的首选方法是使用更加优雅的策略-- 模板继承 . 本质上来说,模板
-
Python Django 母版和继承解析
可以把多个页面相同的部分提取出来,放在一个母板里,这些页面只需要继承这个母板就好了 通常会在母板中定义页面专用的 CSS 块和 JS 块,方便子页面替换 定义块: {% block 名字 %} {% endblock %} views.py 中添加函数: from django.shortcuts import render, redirect, HttpResponse from app01 import models import datetime def muban_test(reques
-
Python Django框架url反向解析实现动态生成对应的url链接示例
本文实例讲述了Python Django框架url反向解析实现动态生成对应的url链接.分享给大家供大家参考,具体如下: url反向解析:根据url路由规则,动态生成对应的url链接 (防止硬编码). url反向解析应用在两个地方:模板中的超链接,视图中的重定向. 项目名/urls.py(项目的url路由配置,url反向解析,取namespace名字): from django.conf.urls import include, url from django.contrib import ad
-
Python Django Cookie 简单用法解析
home.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>个人信息页面</title> </head> <body> <p>个人信息页面</p> </body> </html> 只有返回一串字符串 login.html:
-
Python Django源码运行过程解析
目录 一.Django运行顺序 1.启动 1.1 命令行启动(测试服务器) 2.监听 2.1 runserver(测试服务器) 3.中间件的执行 本文只算是本人片面之言(当然也会借鉴网络上公开资料),而且技术含量比较低,内容质量也一般,大家仅限参考即可 如果对本文看不太懂,请先阅读后面文章,等都差不多看完再回顾来看 一.Django运行顺序 WSGI会不断监听客户端发送来的请求 先经过中间件进行分析验证处理 然后经过url分发与验证 视图层进行处理 再经过中间件进行分析验证处理 返回响应内容 1
-
python+django加载静态网页模板解析
接着前面Django入门使用示例 今天我们来看看Django是如何加载静态html的? 我们首先来看一看什么是静态HTML,什么是动态的HTML?二者有什么区别? 静态HTML指的是使用单纯的HTML或者结合CSS制作的包括图片.文字等的只供用户浏览但不包含任何脚本.不含有任何交互功能的网页! 动态的HTML指的是网页不仅提供给用户浏览,网页本身还有交互功能,存在着在脚本如JAVASCRIPT,并利用某种服务器端语言如PHP等实现如用户注册,用户登录,上传文件,下载文件等功能 接下来,了解下加载
-
Python Django 简单分页的实现代码解析
这篇文章主要介绍了Python Django 简单分页的实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 models.py: from django.db import models class Book(models.Model): title = models.CharField(max_length=32) def __str__(self): return self.title class Meta: db_table =
-
Python Django框架介绍之模板标签及模板的继承
一.标签语法 由%}和 {% 来定义的,例如:{%tag%} {%endtag%},完整的标签有开始就有结束,如条件语句,有条件判断的开始,也对应有条件的结束. 二.常见标签 if条件判断 if/elif/else:可以使用and/or/in/not/==/!=/<=/>=,来进行判断.ifequal/ifnotequal for循环 for ... in ...:和python中的用法一样. forloop.counter:当前迭代的次数,下标从1开始.1,2,3.... forloop.c
-
Python+Django搭建自己的blog网站
一.前言 1.1.环境 python版本:3.6 Django版本:1.11.6 1.2.预览效果 最终搭建的blog的样子,基本上满足需求了.框架搭好了,至于CSS,可以根据自己喜好随意搭配. 二.建立博客应用 2.1.建立项目和应用 创建工程blogproject python manage.py startproject blogproject 创建blog应用 python manage.py startpapp blog 打开 blogproject\ 目录下的 settings.py
-
python manage.py runserver流程解析
这篇文章主要介绍了python manage.py runserver流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 版本 python27 django 1.0 搭建可运行的环境 创建python27 虚拟环境 github 下载 django-1.0.tar.gz(1.0 版本的django) 解压 可以看到,有个 demo 在 examples 目录 把 django 目录拷贝到 examples 下面,这样 example 可以
-
python如何重载模块实例解析
本文首先介绍了Python中的模块的概念,谈到了一个模块往往由多个模块组成,然后通过具体实例,分析了模块重载的相关内容,具体介绍如下. 模块是Python程序架构的一个核心概念,较大的程序往往以多个模块文件的形式呈现,一个模块被设计成主文件或顶层文件,用来启动整个Python程序.每个以.py为后缀的Python源代码文件都是一个模块,其他文件可通过"导入"读取这个模块的内容.从一般意义上讲,模块就是变量名的封装.如写一个模块test.py,包含一个两个变量名name.age. nam
随机推荐
- asp.net 中将表单提交到另一页 Code-Behind(代码和html在不同的页面)
- java实现基于SMTP发送邮件的方法
- spring mvc中的@PathVariable获得请求url中的动态参数
- solr 配置中文分析器/定义业务域/配置DataImport功能方法(测试用)
- java网上商城开发之邮件发送功能(全)
- IOS UITableView和NavigationBar的常用设置详解
- js游戏人物上下左右跑步效果代码分享
- JS实现改变HTML上文字颜色和内容的方法
- 用PHP和ACCESS写聊天室(四)
- C++开发在IOS环境下运行的LRUCache缓存功能
- javascript flash下fromCharCode和charCodeAt方法使用说明
- 详解JavaScript ES6中的Generator
- MySQL里面的子查询实例
- Shell脚本中计算字符串长度的5种方法
- Chkdsk 基于所用的文件系统,创建和显示磁盘的状态报告
- c# 两个数组比较,将重复部分去掉,返回不重复部分的实现
- 使用Node.js实现HTTP 206内容分片的教程
- 键盘上下键移动选择table表格行的js代码
- 轻松部署Windows2003的DHCP服务
- IceSword (冰刃) 应用图文指南第1/2页