前言:
在 Django 模板語言中變量用 {{ }},邏輯用 {% %}
在 urls.py 中添加對應關系
from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
url(r'^test/', views.django_test),
]
普通變量:
在 views.py 中編寫 django_test 函數
from django.shortcuts import render, redirect, HttpResponse
from app01 import models
# Django 模板語言變量
def django_test(request):
name = "John"
age = 28
return render(request, "test.html", {"name1": name, "age1": age}) # 通過字典形式傳給 html
接下來寫 test.html 頁面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Django 模板語言測試</title>
</head>
<body>
<h1>Django 模板語言測試</h1>
{{ name1 }} {{ age1 }}
</body>
</html>
運行效果:

如果是用不存在的變量名,將不會在頁面顯示
列表:
如果要顯示列表成員的話需要使用循環來顯示
views.py:
from django.shortcuts import render, redirect, HttpResponse
from app01 import models
# Django 模板語言變量
def django_test(request):
name = "John"
age = 28
hobby = ["Reading", "Basketball", "Movie", "Music"]
return render(request, "test.html", {"name1": name, "age1": age, "hobby_list": hobby})
test.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Django 模板語言測試</title>
</head>
<body>
<h1>Django 模板語言測試</h1>
<!-- 普通變量 -->
{{ name1 }} {{ age1 }}
<!-- 列表 -->
{% for hobby in hobby_list %}
{{ hobby }}
{% endfor %}
</body>
</html>
運行效果:

字典:
通過 {{ 字典名.key }} 來獲取 value
views.py:
from django.shortcuts import render, redirect, HttpResponse
from app01 import models
# Django 模板語言變量
def django_test(request):
name = "John"
age = 28
hobby = ["Reading", "Basketball", "Movie", "Music"]
info = {"height": 188, "weight": 120}
return render(request, "test.html", {"name1": name, "age1": age, "hobby_list": hobby, "info": info})
test.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Django 模板語言測試</title>
</head>
<body>
<h1>Django 模板語言測試</h1>
<!-- 普通變量 -->
{{ name1 }} {{ age1 }}
<!-- 列表 -->
{% for hobby in hobby_list %}
{{ hobby }}
{% endfor %}
<!-- 字典 -->
{{ info.height }} | {{ info.weight }}
</body>
</html>
運行效果:

類:
類通過 {{ 對象名.屬性 }} 來訪問屬性,通過 {{ 對象名.方法 }} 來實現方法
views.py:
from django.shortcuts import render, redirect, HttpResponse
from app01 import models
# 測試類 Animal
class Animal(object):
def __init__(self, specie, name):
self.specie = specie
self.name = name
def sleep(self):
return "%s is sleeping" %self.name
# Django 模板語言變量
def django_test(request):
name = "John"
age = 28
hobby = ["Reading", "Basketball", "Movie", "Music"]
info = {"height": 188, "weight": 120}
a1 = Animal("Cat", "Tom")
a2 = Animal("Dog", "Jim")
return render(
request,
"test.html",
{
"name1": name,
"age1": age,
"hobby_list": hobby,
"info": info,
"a1": a1,
"a2": a2,
})
test.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Django 模板語言測試</title>
</head>
<body>
<h1>Django 模板語言測試</h1>
<!-- 普通變量 -->
{{ name1 }} {{ age1 }}
<!-- 列表 -->
{% for hobby in hobby_list %}
{{ hobby }}
{% endfor %}
<!-- 字典 -->
{{ info.height }} | {{ info.weight }}
<br>
<!-- 類 -->
{{ a1.specie }} | {{ a1.name }} | {{ a1.sleep }}
<br>
{{ a2.specie }} | {{ a2.name }} | {{ a2.sleep }}
</body>
</html>
運行效果:

