<下面<大的更新意味着它只是一個記錄問題>>應用程序引擎Python安裝
我試圖讓應用程序引擎安裝Python和有一些問題,我懷疑是一些簡單的步驟,我已經錯過了。我app.yaml中這樣說:
application: something #name here is the one I used to register i.e. something.appspot.com
version: 1
runtime: python
api_version: 1
handlers:
- url: .*
script: myapp.py
和我myapp.py這樣說:
import cgi
import Utils
import Sample
import logging
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
class MainPage(webapp.RequestHandler):
def get(self):
self.response.out.write('<html><body>')
self.response.out.write('Welcome to my server! Why is this not working?')
self.response.out.write('</body></html>')
def main():
application = webapp.WSGIApplication([('/', MainPage),
('/Sample', Sample.HttpRequestHandler)],
debug=True)
run_wsgi_app(application)
if __name__ == "__main__":
main()
當我在本地主機上運行此,我得到我的HTML「歡迎」消息傳遞時,/但是當我通過/樣本我沒有得到任何地方。另外,我似乎無法記錄消息。我打電話logging.debug()並沒有在日誌控制檯上顯示。有任何想法嗎?這是我的Sample.py。對不起,這個奇怪的標籤。複製粘貼並沒有排列起來,手動編輯它似乎沒有糾正它。
class HttpRequestHandler(webapp.RequestHandler):
def get(self):
Utils.log("Sample handler called")
try:
if HttpRequestHandler.requestIsValid(self):
intParam = int(self.request.get('param1'))
floatParam = float(self.request.get('param1'))
stringParam = self.request.get('param1')
Utils.log("params: " + str(intParam) + " " + str(floatParam) + " " + stringParam)
if intParam == 1:
self.response.set_status(200, message="Success")
else:
self.response.set_status(400, message="Error processing sample command")
else:
raise StandardError
except Exception, e:
logging.debug("Exception: %s" % (e))
self.response.set_status(400, message="Error processing sample command")
def requestIsValid(self):
if self.request.get('param1') != "" and \
self.request.get('param2') != "" and \
self.request.get('param3') != "":
return True
else:
return False
所以我知道這完全是跛腳的,但因爲我看不到任何日誌消息,我在一堆的「養StandardError的」扔調用只是爲了看看會拋出異常輸出到我的瀏覽器窗口時我嘗試調用我的Sample消息。我發現服務器正在調用Sample處理程序,看起來好像甚至檢查int param是否正確。
我認爲問題是我只是看不到我的日誌消息!任何想法爲什麼他們沒有顯示出來?我通過這些Util.log()調用調用logging.debug()。是否有一些標誌或東西抑制了我的輸出顯示在日誌控制檯中?
Sample.HttpRequestHandler是什麼樣的? – Cameron 2010-11-07 19:03:50