久しぶりに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名を入れることで思い通りに動かすことができます。