关于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工程师的终极书单只在专业的Java技术博客–天天编码上发布,没有授权任何网站与个人转载. 坚持阅读好书是学习Java技术的好方式.但是,市面上与Java技术相关的书籍可谓数不胜数,如何从这 ...

  2. WIN10下设置惠普HP1050等打印机打印颜色,只打黑白或彩色

    今天同事问了一个问题,如何在WIN10下,设置惠普打印机只打印黑白, 上网搜了下,没有找到任何信息,只有在WIN8前系统设置的内容,经过几番折腾,得出此文. WIN10下设置惠普HP1050等打印机打 ...

  3. 51nod_1119:机器人走方格 V2

    题目链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1119 转化成杨辉三角就好辣@_@ #include< ...

  4. Python基础之常用模块(三)

    1.configparser模块 该模块是用来对文件进行读写操作,适用于格式与Windows ini 文件类似的文件,可以包含一个或多个节(section),每个节可以有多个参数(键值对) 配置文件的 ...

  5. hiernate-session

    一.概述 Session 是 Hibernate 向应用程序提供操纵数据的主要接口,它提供了基本的保存.更新.删除和加载 Java 对象的方法. 二.Session 缓存 1.简介 (1)Sessio ...

  6. salesforce零基础学习(七十六)顺序栈的实现以及应用

    数据结构中,针对线性表包含两种结构,一种是顺序线性表,一种是链表.顺序线性表适用于查询,时间复杂度为O(1),增删的时间复杂度为O(n).链表适用于增删,时间复杂度为O(1),查询的时间复杂度为O(n ...

  7. vue2 和 webpack 配置环境使用

    http://blog.csdn.net/fungleo/article/details/53171052

  8. MongoDB数据库的数据类型和$type操作符

    前面的话 本文将详细介绍MongoDB数据库的数据类型和$type操作符 数据类型 MongoDB支持以下数据类型 类型 数字 备注 Double 1 双精度浮点数 - 此类型用于存储浮点值 Stri ...

  9. teamviewer试用期到期解决

    1.命令行输入:%appdata%删除teamviewer文件夹2.命令行输入:regedit删除teamviewer文件夹3.卸载tv4.控制面板->设备管理器->网络适配器->f ...

  10. swift3.0 对UITextField()输入框输入的内容进行监控

    首先需要继承 UITextFieldDelegate class TestViewController: UIViewController,UITextFieldDelegate{ } 添加事件委托 ...