博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django中模板的继承与包含操作
阅读量:4053 次
发布时间:2019-05-25

本文共 3208 字,大约阅读时间需要 10 分钟。

django中模板继承操作:

模板继承

模板继承允许你建立一个基本的”骨架”模板, 它包含你所有最常用的站点元素 并 定义了一些可以被子模板覆盖的block.

base.html
{% block title %}久久寻网{% endblock %}
{% block side %}
{% endblock %}
{% block content %}{% endblock %}

我们称它为 base.html, 定义了一些简单的 HTML 骨架文档, 你可以把它用到一些简单两列的网页上. “子” 模板的任务就是用内容填写这些空白的内容块.

子模板

{% extends "base.html" %}{% block title %}重阳博客{% endblock %}{% block content %}{% for entry in blog_entries %}    

{
{ entry.title }}

{

{ entry.body }}

{% endfor %}{% endblock %}

 

如果你在模板中使用了 “{% extends %}“ ,那么它必须是这个模板中的第一个模板 tag ,否则它就不工作

如果你需要在子模板中引用父模板中的 block 的内容,使用 “{
{ block.super }}“ 变量.这在你希望在父模板的内容之后添加一些内容时会很有用.(你不必完全覆盖父模板的内容.)

django中模板包含操作:

{% for button in buttons.object_list %}
{% endfor %}
序号 关联模块 功能按钮主键 功能按钮名称 功能按钮类型 功能按钮顺序 操作
{ { numPerPage|append:currentPage|calculatelinenum:forloop.counter }} { { button.module.module_name }} { { button.id }} { { button.button_name }} { { button.button_type }} { { button.order }} 编辑 删除
每页显示 {% include "common/select.html" %}
条,共{
{ buttons.paginator.count }}条
包含操作:

{% include "common/select.html" %}
select.html内容如下:

下面引用一篇文章介绍django中include操作:

【django】模板 include一个模板

在讲解了模板加载机制之后,我们再介绍一个利用该机制的内建模板标签: {% include %} 。该标签允许在

(模板中)包含其它的模板的内容。 标签的参数是所要包含的模板名称,可以是一个变量,也可以是用单/双引
号硬编码的字符串。 每当在多个模板中出现相同的代码时,就应该考虑是否要使用 {% include %} 来减少重
复。
下面这两个例子都包含了 nav.html 模板。这两个例子是等价的,它们证明单/双引号都是允许的。
{% include 'nav.html' %}
{% include "nav.html" %}
下面的例子包含了 includes/nav.html 模板的内容:
{% include 'includes/nav.html' %}
下面的例子包含了以变量 template_name 的值为名称的模板内容:
{% include template_name %}
和在 get_template() 中一样, 对模板的文件名进行判断时会在所调取的模板名称之前加上来自 TEMPLATE_DIRS
的模板目录。
所包含的模板执行时的 context 和包含它们的模板是一样的。 举例说,考虑下面两个模板文件:
# mypage.html
<html>
<body>
{% include "includes/nav.html" %}
<h1>{
{ title }}</h1>
</body>
</html>

# includes/nav.html
<div id="nav">
You are in: {
{ current_section }}
</div>
如果你用一个包含 current_section的上下文去渲染 mypage.html这个模板文件,这个变量将存在于它所包含
(include)的模板里,就像你想象的那样。
如果{% include %}标签指定的模板没找到,Django将会在下面两个处理方法中选择一个:
如果 DEBUG 设置为 True ,你将会在 Django 错误信息页面看到 TemplateDoesNotExist 异常。
如果 DEBUG 设置为 False ,该标签不会引发错误信息,在标签位置不显示任何东西。

转载地址:http://unxci.baihongyu.com/

你可能感兴趣的文章
linux环境下C语言中sleep的问题
查看>>
ubuntu 12.04 安装 GMA3650驱动
查看>>
新版本的linux如何生成xorg.conf
查看>>
xorg.conf的编写
查看>>
启用SELinux时遇到的问题
查看>>
virbr0 虚拟网卡卸载方法
查看>>
No devices detected. Fatal server error: no screens found
查看>>
新版本的linux如何生成xorg.conf
查看>>
virbr0 虚拟网卡卸载方法
查看>>
Centos 6.0_x86-64 终于成功安装官方显卡驱动
查看>>
Linux基础教程:CentOS卸载KDE桌面
查看>>
db sql montior
查看>>
read humor_campus
查看>>
IBM WebSphere Commerce Analyzer
查看>>
Unix + OS IBM Aix FTP / wu-ftp / proftp
查看>>
my read work
查看>>
db db2 base / instance database tablespace container
查看>>
hd disk / disk raid / disk io / iops / iostat / iowait / iotop / iometer
查看>>
project ASP.NET
查看>>
db db2_monitorTool IBM Rational Performace Tester
查看>>