ロリポップでbottle③ – cgiとpyファイル

ロリポップで、pythonでbottleを使うにあたって、
PythonのWebフレームワーク Bottleをロリポップサーバ(ロリポプラン)で動かしてみる
を参考に動かしていたのですが、この方法だと、pcでテストした後、
ロリポップにアップロードする時にトップ部分と最後の部分を変更する必要があり、
何度もテストして変更してってなると、とても面倒・・・

そこで、CGIファイルとpythonのプログラムファイルを別々で準備する。

CGIファイルはシンプルに、pythonを記述したファイルをimportして、
bottleのrunでcgiとして実行するだけの処理を記述する。

testpython.cgi

#!/usr/local/bin/python3.4
# -*- coding: utf-8 -*-

from bottle import run
import testpython

run(server='cgi')


そして、pythonのプログラムファイルは、

testpython.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
:
 コード
:

# ビルドインサーバの実行
if __name__ == '__main__':
    run(host='localhost', port=8080, debug=True, reloader=True)

にしておくことで、ローカルテストの時は、localhot:8080で起動され
ロリポップで動かす場合には、このlocalhost部分は無視されます。
先頭のバージョン部分も変更不要

実行する時のリンクは
ロリポップでbottle①-getがpostに-解決編
で紹介したように、テンプレート側のリンクアドレスを
上のcgiファイル名にしておくだけで良いので、
テストとアップロードを繰り返す時は、
pythonのプログラムは何も変更する必要なく、
ローカルと同じようにロリポップでも動かせます。