ロリポップでbottle②-postがgetに-解決編

久しぶりにbottleの話。
前回のロリポップでbottle①で詰まっていた箇所の解決編
bottleでもgetを利用する方法です。

前回、htaccessの制御では、getがpostに変更されてしまうというのがわかったので、
java scriptで制御して、リンク先アドレスを書き換えることにしました。

<script type="text/javascript">
	baseurl="/xxxxxxxxxx.cgi";
	$('.submit').click(function() {
	  $(this).parents('form').attr('action', baseurl + $(this).data('action'));
	  $(this).parents('form').submit();
	});
	$('.inlink').click(function() {
	  $(this).attr('href', baseurl + $(this).attr('href'));
	});
</script>

解説すると、baseurlには、pythonを記述しているcgi名を代入。
formのsubmitボタンを押されると、cgiファイルが先頭について実行され、
そして、単純な画面遷移の場合は、あらかじめ class名「inlink」にしておくことで、
リンクボタンを押された時に、cgiファイルが先頭について実行されます。
ただそれだけです。

このscriptはどの画面でも共通的に使用したいので、
footer.tplに入れて、bottleのテンプレートに、%includeで読み込むと便利です。

そして、localhostでテストする際は、baseurlは空白、
ロリポップにアップロードする時に、cgi名を入れることで思い通りに動かすことができます。