Django 学习笔记(四)模板变量
关于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 学习笔记(四)模板变量的更多相关文章
- Django学习笔记之模板
模板 模板介绍 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带有样式的HTML代码,这可以让浏览器渲染出非常漂亮的页面. 目前市面上有非常多的模板系 ...
- Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件
一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建: 这样一个Django项目就创建完成了,上面可以看 ...
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
- Django 学习笔记(三)模板导入
本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...
- Django学习笔记(9)—— 开发用户注册与登录系统
一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...
- Django学习笔记(4)——Django连接数据库
前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...
- Python——Django学习笔记
Django——一个封装好的神奇框架 若本文有任何内容错误,望各位大佬指出批评,并请直接联系作者修改,谢谢!小白学习不易. 一.简要模型 模型类操作数据表: python manage.py shel ...
- Django学习笔记(16)——扩展Django自带User模型,实现用户注册与登录
一,项目题目:扩展Django自带User模型,实现用户注册与登录 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册,登录,用户认证,注销,修改密码等功能. ...
- Django学习笔记(11)——开发图书管理页面
一,项目题目: 开发图书管理页面 该项目主要练习Django对多个数据库进行增删改查的操作. 二,项目需求: 基础需求:75% 1. 列出图书列表.出版社列表.作者列表 2. 点击作者,会列出其出版的 ...
随机推荐
- 20170721_python字符串操作_《python语言及其应用》
str = 'abcde...wxyz' [num]提取指定字符 str[0] == 'a' str[1] == 'b' str[-1] == 'z' [start:end:step]分片/切片,一定 ...
- 【翻译】React vs Angular: JavaScript的双向性
翻译原文链接:https://blog.prototypr.io/react-vs-angular-two-sides-of-javascript-b850de22b413 我的翻译小站:http:/ ...
- java 线程之executors线程池
一.线程池的作用 平时的业务中,如果要使用多线程,那么我们会在业务开始前创建线程,业务结束后,销毁线程.但是对于业务来说,线程的创建和销毁是与业务本身无关的,只关心线程所执行的任务.因此希望把尽可能多 ...
- SharePoint 2016 配置工作流环境
前言 SharePoint 2016 默认创建工作流的时候,工作流平台只包含2010版本,如果想要使用状态机工作流,需要单独安装workflow manager 1.0才可以,下面,我们为大家介绍一下 ...
- [Tyvj模拟赛]运
运 题目 [问题背景]zhx 和妹子们玩数数游戏. [问题描述] 仅包含4或7的数被称为幸运数.一个序列的子序列被定义为从序列中删去若干个数, 剩下的数组成的新序列.两个子序列被定义为不同的当且仅当其 ...
- 解决UIViewController中添加子控制器viewWillAppear不调用问题
问题描述: 我在UICollectionViewController中添加子控制器数组, 并在cellForItem中把子控制器数组中对应的控制器对应的view添加到了UICollectionView ...
- spring boot admin
这里记录一个spring cloud的模板,有的模块spring cloud eureka + spring boot admin + spring cloud zuul + 一个普通spring c ...
- Spring 并发访问的线程安全性问题
首先对于spring的IOC来说,对象是由Spring来帮我们管理,也就是在Spring启动的时候,在Spring容器中,由Spring给我们创建的,Spring会帮我们维护,一般都是单例的,也就是一 ...
- Mysql中让两个字段不同时相同的方法
有时候我们会遇到这样的一种情况:有一些不同的专业,每个专业中有一些不同的学号,专业+学号能对应到个人.这时,应该如何在数据库中定义列,来保证专业+学号对应的学生的唯一性呢? 把学号定义成唯一(UNIQ ...
- 页面嵌套frame,Selenium定位问题
有时候,什么定位元素的方法都试过了,还是定位不到元素,就考虑frame切换问题 driver.switchTo().frame("定位到的frame元素"); //接下来就可以在这 ...