概述
如果你已經閱讀過上一個章節,那么你應該已經完成了充分的準備工作并且創建了一個很簡單的具有如下文件結構的Web應用:
microblog
|-flask文件夾
|-<一些虛擬環境的文件>
|-app文件夾
| |-static文件夾
| |-templates文件夾
| |-__init__.py文件
| |-views.py文件
|-tmp文件夾
|-run.py文件
親,想要運行這個程序么?那就運行這個run.py文件,然后在你的瀏覽器里邊打開http://localhost:5000這個地址.
我們在后面的章節會不斷地從前一章節結束的地方繼續開發我們的應用,所以你要確保你的環境已經正確安裝,并且你的應用能夠正常運行.
為什么我們需要使用模板系統
讓我們來考慮一下,我們接下來怎么樣擴展我們的小程序.
我們要在微博應用里邊實現一個非常基本的功能,在首頁上面顯示一個歡迎已登錄用戶的標題.暫且忽略當前應用里邊沒有用戶的狀況,我將會在稍后解決這個問題.
要顯示一個美觀大方的標題,最簡單的方法就是改變我們提供視圖的方式來顯示一些HTML代碼,不如這樣子:/
from app import app @app.route('/')@app.route('/index')def index(): user = { 'nickname': 'Miguel' } # fake user return '''<html> <head> <title>Home Page</title> </head> <body> <h1>Hello, ''' + user['nickname'] + '''</h1> </body></html>
現在,在你的瀏覽器里面刷新一下看看,是不是很爽?
因為我們這個小程序還支持用戶功能,所以咱用了一個用戶占位對象,通常它被親切的稱呼為假數據或測試數據。它可以讓我們關注程序中急需解決的部分。
爽完了,面對實際吧,我希望你會覺得上面這個混合著html代碼的小程序相當惡心。想想看,如果你用一些動態內容生成的一個復雜的HTML頁面,并且想要在由這樣的程序組成的網站中改變一些頁面內容,這將會一件非常蛋疼的事情。
模板系統拯救世界
如果保持業務邏輯和表現的分離,你的網站結構將會組織的更好。不要不信,如果你用python完成了業務代碼,你甚至可以請一個網站設計師幫你完成剩下的部分。模板系統就是幫你實現業務和表現分離的。
讓我們完成第一個模板(fileapp/templates/index.html):
<html> <head> <title>{{title}} - microblog</title> </head> <body> <h1>Hello, {{user.nickname}}!</h1> </body></html>
新聞熱點
疑難解答