关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/

1.传入普通变量

在hello/Hello World/temlplates/index.html中,修改html文件

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<title>{{title}}</title>
<meta charset="utf-8">
</head>
<body>
<h1> Hello {{name}}</h1>
</body>
</html>

接着在hello/Hello World/views.py文件中,修改views.py

from django.shortcuts import render

def index(request):
return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})

然后启动服务器,访问浏览器,得到结果:

标题是 Welcome,正文是Hello KeinLee

2.传入字典变量

修改html文件

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<title>{{title}}</title>
<meta charset="utf-8">
</head>
<body>
<h2> Hello {{person.name}} </h2>
<h2> age {{person.age}} </h2>
<h2> sex {{person.sex}} </h2>
</body>
</html>

修改views.py文件

from django.shortcuts import render

def index(request):
#传入普通变量
#return render(request,'index.html',{'title':'Welcome','name':'KeinLee'}) #传入字典变量
person = {'name':'Lee','age':20,'sex':'male'}
return render(request,'index.html',{'title':'Welcome','person':person})

然后刷新页面,得到结果:

标题是 Welcome,

正文是

Hello Lee

age 20

sex male

3.传入列表变量

修改html文件

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<title>{{title}}</title>
<meta charset="utf-8">
</head>
<body>
<h2>字典变量:</h2>
<ul>
<li> Hello {{person.name}} </li>
<li> age {{person.age}} </li>
<li> sex {{person.sex}} </li>
</ul>
<h2>列表变量:</h2>
<ul>
<li> {{book.0}} </li>
<li> {{book.1}} </li>
<li> {{book.2}} </li>
</ul>
</body>
</html>

修改views.py文件

from django.shortcuts import render

def index(request):
#传入普通变量
#return render(request,'index.html',{'title':'Welcome','name':'KeinLee'}) #传入字典变量
person = {'name':'Lee','age':20,'sex':'male'}
    book_list = ['python','java','c']
    return render(request,'index.html',{'title':'Welcome','person':person,'book':book_list})

然后刷新页面,得到结果:

标题是 Welcome,

正文是

字典变量:

  • Hello Lee
  • age 20
  • sex male

列表变量:

  • python
  • java
  • c

4.传入对象变量

修改html

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<title>{{title}}</title>
<meta charset="utf-8">
</head>
<body>
<h2>字典变量:</h2>
<ul>
<li> Hello {{person.name}} </li>
<li> age {{person.age}} </li>
<li> sex {{person.sex}} </li>
</ul>
<h2>列表变量:</h2>
<ul>
<li> {{book.0}} </li>
<li> {{book.1}} </li>
<li> {{book.2}} </li>
</ul>
<h2>对象变量:</h2>
{{person.name}} say : {{person.say}}
</body>
</html>

 修改views.py

from django.shortcuts import render

class Person(object):
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex def say(self):
return "I'm %s." %self.name def index(request):
#传入普通变量
#return render(request,'index.html',{'title':'Welcome','name':'KeinLee'}) #传入字典变量
#person = {'name':'Lee','age':20,'sex':'male'}
#传入列表变量
book_list =['python','java','c']
#传入对象变量
person=Person('Lucky',18,'female')
return render(request,'index.html',{'title':'Welcome','person':person,'book':book_list})

刷新页面,得出结果:

字典变量:

  • Hello Lucky
  • age 18
  • sex female

列表变量:

  • python
  • java
  • c

对象变量:

Lucky say : I'm Lucky.

综上所述,模板变量可以传递普通变量、字典、列表和对象属性和方法

优先级:普通变量>字典>对象属性>对象方法>列表

系列上一章:Django 学习笔记(三)模板导入

系列下一章:Django 学习笔记(五)模板标签

Django 学习笔记(四)模板变量的更多相关文章

  1. Django学习笔记之模板

    模板 模板介绍 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带有样式的HTML代码,这可以让浏览器渲染出非常漂亮的页面. 目前市面上有非常多的模板系 ...

  2. Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件

    一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建:   这样一个Django项目就创建完成了,上面可以看 ...

  3. Django 学习笔记(五)模板标签

    关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...

  4. Django 学习笔记(三)模板导入

    本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...

  5. Django学习笔记(9)—— 开发用户注册与登录系统

    一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...

  6. Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

  7. Python——Django学习笔记

    Django——一个封装好的神奇框架 若本文有任何内容错误,望各位大佬指出批评,并请直接联系作者修改,谢谢!小白学习不易. 一.简要模型 模型类操作数据表: python manage.py shel ...

  8. Django学习笔记(16)——扩展Django自带User模型,实现用户注册与登录

    一,项目题目:扩展Django自带User模型,实现用户注册与登录 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册,登录,用户认证,注销,修改密码等功能. ...

  9. Django学习笔记(11)——开发图书管理页面

    一,项目题目: 开发图书管理页面 该项目主要练习Django对多个数据库进行增删改查的操作. 二,项目需求: 基础需求:75% 1. 列出图书列表.出版社列表.作者列表 2. 点击作者,会列出其出版的 ...

随机推荐

  1. Java 基本语法----关键字、标识符

    关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class interface enum byte ...

  2. java用户界面窗口

    java用户界面窗口 窗口框 代码如下: package Day08; import java.awt.Color;import java.awt.FlowLayout;import java.awt ...

  3. web开发之负载均衡的简单架构

    负载均衡 负载均衡的核心思想就是:请求分担 最简单的配置: 一台负载均衡服务器 两台webserver服务器 两台webserver服务器需要配置相同的服务器环境,设置相同的域名指向 负载均衡服务器需 ...

  4. 采用HTML5之"data-"机制自由提供数据

    周末总是过得很快,又到了跟代码亲密接触的日子,我在北京向各位问好,今天我分享一点关于前端的东西,HTML5之标签"data-*"自定义属性的值传递. 在过去学习JavaScript ...

  5. Result Maps collection does not contain value for...

    出现上述错误 主要是因为你的select标签内部的resultMap属性指向的不正确 在sql文件中只要有一个resultMap或resultType属性指向错误,则在这个文件中其余正确的语句也不能执 ...

  6. (转)sql通配符

    背景:一次搞清sql查询中的通配符问题. 1 sql通配符 通配符主要以下几种:%._.[].[^] . 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符.SQL 通配符必须与 LIKE ...

  7. spring实现文件上传(图片解析)

    合抱之木,生于毫末,千里之行,始于足下,要想了解spring的文件上传功能,首先要知道spring是通过流的方式将文件进行解析,然后上传.那么是不是所有需要用的文件上传的地方都要写一遍文件解析器呢? ...

  8. Redux源码分析之combineReducers

    Redux源码分析之基本概念 Redux源码分析之createStore Redux源码分析之bindActionCreators Redux源码分析之combineReducers Redux源码分 ...

  9. Java基础之数据类型、内存、修饰符、代码块

    Java 数据类型 基本数据类型 数值:int.short.long 字符:char 布尔:boolean 引用数据类型 class(类) interface(接口) 数组[] 所占字节数(1 byt ...

  10. [POI2008]枪战Maf

    [POI2008]枪战Maf 题目 有n个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪.因此,对于不同的开枪顺序,最后死的 ...