Skip to main content

· 2 min read

原本使用 TurboGears 都是拿來做些網站應用程式的原型,享受它帶來的樂趣。現在終於等到一個可以製作實際網站的機會.

我打算使用 TurboGears 的 1.1 (在 SVN Trunk 開發中) 版本開始做一個中文的應用網站. 使用 genshi 做網頁樣板系統和 SQLAlchemy 做 ORM, 並使用 pydev (python) + Aptana (web) eclipse 環境開發.

剛開始玩得很順利:P 直到我發現在預覽網頁時發生了錯誤. 錯誤訊息看起來是有中文的地方會報錯,因此我以為是網頁樣板預設編碼不是 'utf-8' 的問題.

找了半天,到後來直接用瀏覽器預覽時,才發現整個中文部份都變成了亂碼,改編碼為 big5 時才顯示正常。原來罪魁禍首是作業系統和編輯器!

作業系統預設編碼是 big5, 因此照一般輸入方式在編輯器中編輯儲存中文字的結果,當然不是我所期望的 utf-8 囉. 當我改使用 Dreamweaver 來編輯樣版後,一切顯示就回歸正常了. 應該是編輯時 Dreamweaver 會自動幫忙轉碼吧:-D

Anyway, 還是希望能找到個 OpenSource 的網頁編輯器可以做到國際化支援呀.

· One min read

繼 Ruby On Rails 後,最新期的 o3 雜誌專刊介紹 TurboGears

) 中發表了一篇文章 推薦 TurboEntity 這個項目,看起來他蠻推崇這個大量借鑒他的 ActiveMapper 功能的專案的.

TurboEntity 最酷的能耐應該是'self reference', 能參考同個物件的資料 (不知道 Django 的怎樣,SQLObject 不行直接參考,要加一些特別的代碼)

網站上的範例裡拿了辛普森家庭 (The Simpsons) 做例子:

定義四個角色

grampa = Person(name="Abe")

homer = Person(name="Homer") bart = Person(name="Bart") lisa = Person(name="Lisa")

定義人物間的關係:

祖父 - 河馬 - 霸子

                               - 麗莎

grampa.children.append(homer)

homer.children.append(bart) lisa.father = homer

不講的話還真的看不出來這些是存取資料庫中資料的函式.

ManyToOne / ManyToMany 這些函式也是直接呼叫 sqlalchemy 的功能.

· 2 min read

TurboGears 在進入 1.0b 版本後吸引了許多新的使用者, 為了讓安裝 Python 跟 TurboGears 再更簡易. TurboGears 開發者 Kevin 釋出了新的簡單安裝工具 tgsetup.py, 將 SetupTools 與 TurboGears 的安裝步驟合而為一,讓安裝 TurboGears 的過程更簡單. 只需兩個步驟就能安裝好 TurboGears:

1. 安裝 Python

Linux 使用者: 一般說來,你的 Linux 發行版本 (Distribution) 裡早已預裝了 Python, 並且偷偷用在了一些內附的程式中。你可以輸入

$whereis python 來查看它的存在. 如果你是 Ubuntu 的使用者,你需要再安裝幾個必備的套件 $ sudo apt-get install gcc libc6-dev python2.4-dev

Windows 使用者: 到 www.python.org 下載 python 2.4 安裝檔,接著只要按 "下一步" 按鈕就能安裝成功. 安裝成功後需要設定環境變數。進入 "控制台"->"系統"->"進階"->"環境變數", 並選擇 "編輯" path 變數. 在 path 變數前端加入

C:\Python24\Scripts; (安裝路徑 \Scripts) 敘述.

其他平台使用者: 請參考 www.python.org 網站

2. 安裝 TurboGears

各平台使用者都可以從 www.turbogears.org/download/ 下載 tgsetup.py 檔案。在命令列輸入

python tgsetup.py

Windows 使用者可以直接在命令列輸入

tgsetup.py

tgsetup.py 會自動從網路上下載相關的檔案來安裝 TurboGears.

· 2 min read

白話翻譯是:怎麼在 Linux 或 Windows 平台上將 python 的安裝蛋 (.egg) 上傳到 Python 檔案集散地 CheeseShop 上.(取了個白目的標題 XD)

一般來說,要上傳安裝檔到 CheeseShop, 只要輸入

setup.py bdist_egg upload

即可. "bdist_egg" 是通知 setup.py 將我的程式封裝成安裝蛋 (.egg), "upload" 是通知 setup.py 將我剛封裝好的程式上傳至 CheeseShop. (另外一個常用的命令是 "register", 可以直接更新 CheeseShop 上的程式發佈資訊)

但是在 Windows 上使用 setup.py upload 命令一般會得到下面這樣非常無用的錯誤報告:

Submitting dist/your.egg to http://www.python.org/pypi Upload failed (401): Authorization Required

仔細查過文件才發現,原來是在上傳之前,需先建立一個 .pypirc 文件,內容是儲存欲登入 cheeseshop 的帳號密碼。如下:

[server-login] username:james password:password

在 Linux 上,可以在 home 目錄下建立.pypirc 文件;

在 Windows 上則是放在 Documents and Settings 目錄。例如 C:\Documents and Settings\Gasolin

在 Windows 下一般無法編輯 .xxx 開頭的檔案,這時可以在命令列下輸入

edit .pypirc

來編輯 .pypirc 檔案.

編輯完儲存後,需在命令列下設置 HOME 環境變數.

SET HOME=C:\Documents and Settings\James

當設定完成後,就可以輕鬆使用 CheeseShop 提供的所有功能囉!