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 renderdef 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 renderdef 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 renderdef 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 renderclass 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.

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

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

分享给朋友:
您可能感兴趣的文章:
随机阅读: