一、字典,列表,类在template模板中的使用

在视图函数中,即views.py中进行传值操作,可通过render方法,进行传值

from django.shortcuts import render

def home(request):
string = u"我在自学堂学习Django,用它来建网站"
return render(request,"index.html",{"string":string})

对应home.html模板应用

使用{{ stirng }}(变量)语句, 表示取string变量

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>{{ string }}</h1>
</body>
</html>

注意string可以是字典、列表、字符串、数字等

def test(request):
string = "hello world"
list_number = [1,2,4,5,6]
dict_string = {"username":"jackyoung","age":15,"weight":"125斤"}
return render(request,'base.html',{"string":string,"list_number":list_number,"dict_string":dict_string})

对应home.html模板

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>这是一个字符串:{{ string }}</h1>
<h1>这是一个列表:{{ list_number }} </h1>
<h1>这是一个字典:{{ dict_string }} </h1>
<ul>
<li>这是字典的值调用:{{ dict_string.username }}</li>
<li>这是字典的值调用:{{ dict_string.age }}</li>
<li>这是字典的值调用:{{ dict_string.weight }}</li>
</ul>
</body>
</html>

二、循环语句使用

def home(request):
TutorialList = ["HTML","CSS","jQuery","Python","Django"]
blank_list = []
return render(request,'home.html',{"tutoriallist":TutorialList,"blank_list":blank_list})

1、{% for ... %}(标签)语句,中for循环,for语法可以按照python语法来编写,使用后需要{% endfor %}结束标记

{% for i in items %}{% endfor %}
<p>for循环的使用</p>
{% for i in tutoriallist %}
{{ i }}<br>
{% endfor %}

2、{% empty %} 使用{% empty %}表示列表是空的会直接执行它下方的语句

{% for j in blank_list %}
<p>{{ j }}</p>
{% empty %}
<p>列表是空的!</p>
{% endfor %}

3、for语句的其他使用

变量 描述
forloop.counter 索引从 1 开始算
forloop.counter0 索引从 0 开始算
forloop.revcounter 索引从最大长度到1
forloop.revcounter0 索引从最大长度到0
forloop.first 当遍历的元素为第一项时为真
forloop.last 当遍历的元素为最后一项时为真
forloop.parentloop 用在嵌套的 for 循环中,获取上一层 for 循环的 forloop

三、判断语句的使用

{% if x is true %}{% endif %}
{% if bool_value is True %}
<p>为真</p>
{% else %}
<p>为假</p>
{% endif %}

四、继承父类模板

{% extends "base.html" %} 语句,会把base.html的内容全部继承到新模板中,在模板中只需要填写该语句即可

五、包含

{% include "header.html" %}语句,会把header.html的内容包含到模板中,只需要该语句,就可以将header.html内容包含到新模板中

六、块Block

{% block content %}Content{% endblock %}语句,把新模板中的内容块,代替掉基础模板中内容块,记住:需要和{% extends "base.html" %}一起使用

例如:

1、基础模板中使用{% block content %}

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
{% block content %} {% endblock %}
</body>
</html>

2、新模板中使用{% block content %}

{% extends "123.html"%}
{% block content %}
<h1>这是4.html页面的内容</h1>
{% endblock %}

(三)Django模板语言的更多相关文章

  1. Django模板语言初识

    一.Django框架简介 1.MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...

  2. Django模板语言的复用

    一.include标签 由于在项目中,往往会出现多个页面拥有一个或几个相同的页面版块,或是一个页面多个页面版块是相同的,基于这个问题,我们可以采用模板语言复用include标签来帮我们解决,这样就避免 ...

  3. Django 模板语言 路由 视图

    . 模板语言(字符串替换) . 母版和继承 . 什么时候用母版? html页面有重复的代码,把它们提取出来放到一个单独的html文件. (比如:导航条和左侧菜单) . 子页面如何使用母版? {% ex ...

  4. Django模板语言,标签整理

    Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...

  5. Django模板语言(一)

    1,Django模板语言 1.1>基础语法:1.1.1,变量相关:{{ 变量名 }},1.1.2,逻辑相关{% ... %} 在Django模板语言中按此语法使用:{{ 变量名 }},当模板引擎 ...

  6. Django模板语言 标签整理

    Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...

  7. 6月15日 python学习总结 Django模板语言相关内容

    Django模板语言相关内容   Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...

  8. Django模板语言相关内容 Djan

    Django模板语言相关内容   Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...

  9. Django——模板语言相关内容

    Django模板语言相关内容   Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...

  10. django模板语言的注释

    就像HTML或者Python,Django模板语言同样提供代码注释. 注释使用 {# #} : ? 1 {# This is a comment #} 注释的内容不会在模板渲染时输出. 用这种语法的注 ...

随机推荐

  1. 2018-10-15-Winforms-可能遇到的-1000-个问题

    title author date CreateTime categories Winforms 可能遇到的 1000 个问题 lindexi 2018-10-15 09:35:15 +0800 20 ...

  2. Android Xutils框架HttpUtil Get请求缓存问题

    话说,今天和服务器开发人员小小的逗逼了一下,为啥呢? 话说今天有个"收藏产品"的请求接口,是get request的哦,我客户端写好接口后,点击"收藏按钮",返 ...

  3. linux中使用gbd进行单布调试

    在linux 中使用gdb命令行进行单步调试,将整个过程介绍如下: 1.在当前路径下新建文件夹main, 并进入文件夹,新建文件main.cpp mkdir main cd main touch ma ...

  4. H3C 10BASE-T线缆和接口

  5. 在 CentOS 7.3 上安装 nginx 服务为例,说明在 Linux 实例中如何检查 TCP 80 端口是否正常工作

    CentOS 7.3 这部分以在 CentOS 7.3 上安装 nginx 服务为例,说明在 Linux 实例中如何检查 TCP 80 端口是否正常工作. 登录 ECS 管理控制台,确认实例所在安全组 ...

  6. JavaScript中Number数字数值浮点运算有误差

    JavaScript浮点运算的一个bug. 比如:7*0.8 JavaScript算出来就是:5.6000000000000005 //调用:numberExcept(arg1,arg2) //返回值 ...

  7. LOGO的浮空显示-Verilog

    为了方便生成准确的mif数据,以实现特定的透明效果.使用Photoshop将网上下载的Logo修改颜色,保存大小为120*120像素,如图1所示. 图1 ps修改后的Logo 使用Pic2mif软件, ...

  8. linux I/O 内存分配和映射

    I/O 内存区必须在使用前分配. 分配内存区的接口是( 在 <linux/ioport.h> 定义): struct resource *request_mem_region(unsign ...

  9. JavaSE基础---异常

    异常 Throwable----具备可拋性:就是该体系中的类和对象都可以被关键字throw或throws所操作. |---Error ---错误,一般不编写针对性处理方式 |---Exception- ...

  10. apply call 用法

    1.对象转数组  tips 先看怎么用  再研究方法原理 var obj = {     0: 'qian',     1: 'long',     2: 'chu',     3: 'tian', ...