Django Template
來加些 HTML、CSS 吧
目前為止我們在瀏覽器上面看到的都只是純文字,感覺總不太漂亮。所以現在我們來加上 HTML 跟 CSS 來美化這個網頁吧!
Django Template
Django 提供了 Django Template 來幫助我們可以產出 HTML 頁面。
讓我們在 excuse 目錄底下建立一個 templates 目錄。裡面新增一個 index.html 檔案,內容如下
<!DOCTYPE HTML>
<html style="height: 100%">
<head>
<title>Clone of Excuses For Lazy Coders</title>
</head>
<body style="height: 100%">
<div class="wrapper" style="min-height: 100%; height: auto !important; height: 100%; margin: 0 auto -8em;">
<center style="color: #333; padding-top: 200px; font-family: Courier; font-size: 24px; font-weight: bold;"><a href="/" rel="nofollow" style="text-decoration: none; color: #333;">{{ excuse }}</a></center>
<div class="push"></div>
</div>
<div class="footer">
<center style="color: #333; font-family: Courier; font-size: 11px;">
<br /><br />© Copyleft
</center>
</div>
</body>
</html>
在這邊,我們透過了 讓 Django View 把變數傳入 template 當中。
接著,打開我們之前寫的 excuse/views.py,把之前寫的 home function 改成:
from django.shortcuts import render
def home(request):
excuses = [
"It was working in my head",
"I thought I fixed that",
"Actually, that is a feature",
"It works on my machine",
]
excuse = random.choice(excuses)
return render(request, "index.html", {'excuse': excuse})
我們 import 了 django.shortcuts.render,這個 function 可以幫助我們讀取 template 之後,把變數以 python dictionary 的方式傳入 template 當中,最後再 render 出來並且回傳到瀏覽器中。接著 reload 瀏覽器,如果沒做錯的話應該可以看到跟剛剛一樣的結果!
小練習
看一下 Django Template 的說明文件,如果想要把 excuse 變成全部都大寫的話該怎麼做呢?