Python フレームワークBottleを使ってみる

準備:condaコマンドのパスを通す

MacBookではJupyterNotebookしか使っていなかったので、condaコマンドのパスを通しておく
Mac condaコマンドのパスを通す

Bottleインストール

AnacondaNaviatorで「bottle」と検索するとbottleライブラリがあったので
最新バージョン(0.12.17)をインストール

HelloWorldをコーディング

Bottle公式リファレンスに記載されているサンプルコードをコピペ
エディタはAtomにした
「HelloWorld.py」として保存(保存先 ~/documentsにしたけど、適当な保存先はどこ?)

from bottle import route, run, template  

@route('/hello/<name>')  
def index(name):  
    return template('<b>Hello {{name}}</b>!', name=name)  

run(host='localhost', port=8080)  

「localhost:8080/hello/任意の名前」でルーティングしている

サーバ起動・localhostにアクセス

ターミナルを起動してHelloWorld.pyの場所へ移動しておく

  • bottleをインストールした環境に切り替える
    • conda activate bottle(Anaconda環境名)
  • pyファイル実行
    • python HelloWorld.py

ターミナルに以下のメッセージが表示される

Bottle v0.12.17 server starting up (using WSGIRefServer())...  
Listening on http://localhost:8080/  
Hit Ctrl-C to quit.  

これでローカルホストが使えるようになった

http://localhost:8080/hello/butoにアクセスすれば表示できた!

お手軽フレームワーク Bottle

Java Springのようにxmlファイルを編集するような手順がないので、とても楽だった
Pythonコードにhtmlタグを記述したくないので、
Pythonコードの変数にhtmlファイルのパスを持たせれば画面と処理コードが切り離せるかな?
Python Bottle 画面とコードを分ける