2015年1月20日 星期二

Google App Engine X Python X Ubuntu 第二篇 使用 webapp2 架構


繼上次的 Hello World 後我們今天來使用 webapp2 架構來寫我們的前端程式

需要在 app.yaml 檔裡加上這幾行  官方文章傳送門


libraries:
- name: webapp2
  version: latest


加入後的 app.yaml 檔案


接下來雲端程式就能看得懂我們的網頁標籤了

這裡我用一個簡單的輸入變數然後印出迴圈值來演示給大家看


py檔的內容

結果圖


其中比較需要注意的就是 Python 的縮排格式與上引號的使用方式

這種方法是 Html 語法跟 Python 寫在一起的方式

 Html 程式碼一多就會顯得程式碼雜亂

還有另外一種方式是使用模板( Template )的方式可以讓兩種程式碼分開放方便管理與維護

會在後面一點教到

而這禮拜老師出的作業是可輸入變數的乘法表

只需要利用上面的例題動動腦就能做出來囉


結果圖


py檔程式範例

# -*- coding: utf-8 -*-
#create an N-by-M multiplication table

import webapp2

MAIN_PAGE_HTML = """\
<!DOCTYPE html>
<html>
  <body>
    <form action="/" method="post">
     <div> N<input name="N" rows="1" cols="20"/>
           M<input name="M" rows="1" cols="20"/>
            <input type="submit" value="create"> </div>
"""
class MainPage(webapp2.RequestHandler):

    def get(self):
        self.response.write(MAIN_PAGE_HTML)
        self.response.write("</form></html>")

    def post(self):
        self.response.write(MAIN_PAGE_HTML)
        N = int(self.request.get('N'))
        M = int(self.request.get('M'))
        self.response.write("<br><table><tr>")
        for i in range(1,N+1):
            self.response.write("<td>")
            for j in range(1,M+1):
                self.response.write('%s x %s = %2s '%(i,j,j*i)+"<br>")
            self.response.write("</td>")
        self.response.write("</tr></table></form></html>")

application = webapp2.WSGIApplication([
    ('/', MainPage),
], debug=True)
有問題歡迎提問

1 則留言: