關於Django模板變數官方網址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.傳入普通變數 在hello/Hello World/temlplates/index.html中,修改html文件 接著在hello/H ...
關於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.
綜上所述,模板變數可以傳遞普通變數、字典、列表和對象屬性和方法
優先順序:普通變數>字典>對象屬性>對象方法>列表