玩玩Google Appengine - Using Static Files的問題

玩玩Google Appengine - Using Static Files的問題

今天又繼續玩google appengine,
照著網站上的教學試到了Using Static Files的步驟,
照個上面的語法寫卻發生錯誤,
我的環境是 : winxp + Python 2.5.2
(這個好像是只有在windows系統上才有的問題)
在執行dev_appserver.py時出現了下面的錯誤訊息

ERROR    2008-04-18 23:14:48,826 dev_appserver_main.py] Application configuration file invalid:
regex invalid: unbalanced parenthesis

還好在google論壇上已經有人找出問題了,
確實是個bug,不是我操作上的問題.

改用下面的語法就可以讓教學的步驟順利往下走.

將app.yaml中的

- url: /stylesheets
  static_dir: stylesheets

改為

- url: /stylesheets/main.css

DotBlogs 的標籤:,


static_files: stylesheets/main.css
upload: stylesheets/main.css

但這樣只是讓哪個main.css可以讀取,
要改成是整個資料夾的話,可以用下面這段

- url: /stylesheets/(.*)
  static_files: stylesheets/\1
  upload: stylesheets/(.*)

另外有個直接修改SDK的方式,
也就是讓你完全可以照著教材內的程式來做.
就是修改dev_appserver.py
(跟執行的那隻路徑不同,
是在C:\Program Files\Google\google_appengine\google\appengine\tools\下的dev_appserver.py)

在dev_appserver.py的第2369行,

      regex = os.path.join(re.escape(regex), '(.*)')
      path = os.path.join(path, '\\1')

改為

      regex = re.escape(regex) + '/(.*)'
      path = path + '/\\1'

這樣,app.yaml就可以照教材上的設定就可以了,
至於哪個比較好用.那就看你比較想用哪個,
因為畢竟現在的google appengine只是preview release而已.