API 仕様

tkCGIApplication クラス

初期化

app = tkCGIApplication(
    import_name,
    static_folder='static',
    static_url_path='/static',
    template_folder='templates',
    error_handler=True,
)

主要属性

root_path

モジュールまたはカレントディレクトリから決まる基準パス。

script_fullpath / script_dir / script_filebody

実行スクリプトの情報。

templates_dir / static_folder

テンプレート・静的ファイルの基準ディレクトリ。

routes

ルート定義辞書。

query

パース済みパラメータ辞書。

主要メソッド

configure(...)

ログ、設定ファイル、鍵情報ファイル、データディレクトリ等を設定する。

route(action)

ルート関数を登録するデコレータ。

run(redirect=True, error_handler=None)

アプリケーションのエントリーポイント。入力取得とルーティングを行う。

init_html(target='html', charset='utf-8', title='title', html_ver='HTML5')

応答ヘッダと HTML の開始タグを出力する。target='json' なら JSON ヘッダを出力する。

end_html()

HTML 終了タグを出力する。

get_params()

GET / POST / CLI / PATH_INFO をもとに入力パラメータを取得する。

render_template(template_file, params, extract_body=True)

Jinja2 によるテンプレート描画を行う。

render_template_from_file(template_name, context)

templates_dir からテンプレートを読み込み描画する。

validate_account(func)

簡易ユーザ認証デコレータ。アカウントファイルと IP 制限による認証を行う想定。

get/post/put/delete/request

外部 HTTP API を叩く補助関数。

返り値の扱い

ルート関数の返り値として、次を想定する。

  • HTML 文字列

  • JSON 文字列

  • tkHTMLElement オブジェクト

  • ``None``(関数内で直接出力する場合)

推奨スタイル

保守性のため、ルート関数では次の書き方を推奨する。

  • HTML は return で返す

  • JSON も json.dumps(...)return で返す

  • 業務ロジックは補助関数に切り出す