概要
設計方針
本フレームワークの基本方針は次の通りである。
CGI 環境でそのまま動くこと
1 ファイルスクリプトでも運用しやすいこと
HTML と JSON の両方を簡単に返せること
開発中のデバッグを容易にすること
本格化した場合に Flask へ移植しやすい構造を保つこと
構成モジュール
tkBase.py共通ユーティリティ。例外の HTML 出力、HTML 開始・終了、簡易 ini 読み込み、パス置換などを担う。
tkCGIApplication.pyフレームワーク本体。ルーティング、設定読込、HTML/JSON 出力、入力取得、簡易認証、ログ、HTTP 通信補助などを担う。
tkFormData.pymultipart/form-dataを自前で処理する補助モジュール。tkHTMLDocument.pyHTML 要素を Python オブジェクトとして構築するための補助モジュール。
想定利用パターン
最小構成では、以下のような書き方を想定する。
from tkCGIApplication import tkCGIApplication
app = tkCGIApplication(__name__)
@app.route('/')
def index():
app.init_html()
return '<h1>Hello</h1>'
if __name__ == '__main__':
app.run()
JSON API の場合は init_html(target='json') を呼び、文字列化した JSON を返す。