buto > /dev/null

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

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

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

MacBookではJupyterNotebookしか使っていなかったので、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にアクセスすれば表示できた!

f:id:butorisa:20201020151132p:plain

お手軽フレームワーク Bottle

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