Google App Engine 初學, 此篇主要是 GAE 將程式部份 與 Template 部份分離, 並寫個簡單的程式測試, 將程式上傳到 GAE 上.
註: 可想成將程式拆分成 Contoller 與 View (Template).
使用 Template
- 將 資料 與 HTML 分開. (目前 GAE 使用的是 django 0.96 版的 template 系統)
- 使用 Template 是由此段程式來指定要讀取哪個 Html 檔
import os
from google.appengine.ext.webapp import template
template_path = os.path.join(os.path.dirname(__file__), 'template.html')
範例
- vim app.yaml # 於 app.yaml 加上 template.py
handlers:
- url: /template
script: template.py - vim template.py
# -*- coding: utf-8 -*-
import cgi
import os
from google.appengine.ext.webapp import templateform = cgi.FieldStorage()
name = form.getvalue('name', '')
email = form.getvalue('email', '')template_path = os.path.join(os.path.dirname(__file__), 'template.html')
print 'Content-Type: text/html; charset=utf-8'
print template.render(template_path, {'name': name, 'email': email}) - vim template.html
<html>
<head></head>
<body>
<form method="post">
Name <input type="text" name="name" value=""><br>
Email <input type="text" name="email" value=""><br>
<input type="submit" value="post">
<form><p>Name: {{name}}</p>
<p>Email: {{email}}</p>
</body>
</html>
測試
- /var/gae/dev_appserver.py hello # 啟動
- http://localhost:8080/template # 看到測試頁, 並測試 Post 看看