目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5930.3k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(857)
赞(0)

Django模板-模板继承

image-20221026135707927

模板继承允许构建一个基本“骨架”模板,其中包含您网站的所有常见元素,并定义子模板可以覆盖的 block

官网:https://docs.djangoproject.com/zh-hans/4.1/ref/templates/language/#template-inheritance

定义父模板

如下,定义一个base.html, 如下:

上面这个模板中,定义了3个 block :

  • title
  • sidebar
  • content

block的基本使用方法:{% block title %} {% endblock %}

继承父模板

子页面detail.html继承上面这个base.html,内容如下:

使用{% extends "base.html" %} 继承 base.html,本页面有2个block,对应base.html的2个block,会在base.html中,使用本detail.html的对应内容进行替换,而block sidebar 并没有对应的block,因此继续使用base.html的 sidebar 的内容

继承的技巧

  • 如果在模板中使用,{% extends %}必须是该模板中的第一个模板标签。否则模板继承将不起作用。
  • 基本模板中的越多{% block %}标签越好。子模板不必定义所有父块,因此可以在多个块中填写合理的默认值
  • 如果发现自己在多个模板中复制了内容,则可能意味着您应该将该内容移至父模板的 {% block %}
  • 如果需要从父模板中获取块的内容,则使用 {{ block.super }}
  • 在使用模板标签语法之外创建的变量不能在块{% block% }内使用。例如,该模板不会呈现任何内容
  • 为了增加可读性,您可以选择为您的结束标签 命名。例如:{% endblock content %}

实时效果反馈

1. 关于Django模板,继承说法错误的是?

A 继承模板需要使用{% extends %}标签

B 继承模板需要配合{% block %}标签才有好的效果

C block标签必须给每个块儿起名

D block标签结束时,必须告诉结束的哪个block块

答案

1=>D

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2