python超軽量WebフレームワークBottleを試してみました。Python.Bottle公式より仮想環境の構築pipenvで仮想環境を構築します。pipenvについては前記事で書きましたのでご覧ください。適当なディレクトリを作成して移動します。~/tmp/bottle_test/Pythonとbottleをインストール。Pythonは、前記事でインストールしたバージョン3.7.3です。Worldを表示するWebサーバを立ち上げてみます。最初にhelloworld.pyを作成します。debug=True)run()は待ち受けするホスト名とポート番号を指定してWebサーバを起動するものです。上記のスクリプトを実行すると、http://localhost:8080で待ち受けるWebサーバが立ち上がります。@routeデコレータはルーティングを指定するものです。上記のスクリプトでは、ブラウザでhttp://localhost:8080/helloにアクセスしたときにhello()が実行されます。それでは、スクリプトを実行してWebサーバを起動してみましょう。http://localhost:8080で待ち受けるサーバが起動しました。World!が表示されました。ルーティングできないURLにアクセスすると404エラーが発生します。Webサーバの終了はCtrl+cです。動的ルーティングhelloworld.pyを次のとおり書き換えました。最終行のreloader=Trueは、スクリプトを書き換えたときにWebサーバを自動的に再起動してくれる設定。reloader=True)http://localhost:8080/hello/にアクセスしてみました。http://localhost:8080/hello/hogeにアクセスしてみました。http://localhost:8080/hello/mogeにアクセスしてみました。http://localhost:8080/hello/<name>の<name>の部分応じて、結果が変わりました。ここで、Webサーバを終了(CTRL+c)させます。HTTPリクエストメソッドGET、PUT、DELETE、PATCHのメソッドをデコレータで使い分けることが出来ます。@routeデコレータに引数method='GET'を指定するとGET。引数を省略したときのデフォルトもGET。@getデコレータによって指定することもできます。@routeデコレータに引数method='POST'を指定するとPOST。@postデコレータによって指定することもできます。同じアドレスで、GETとPOSTの両方を待ち受けることが可能。reloader=True)Webサーバを起動します。login.pyhttp://localhost:8080/loginにアクセス。GETに対する応答が返ってきます。UsernameとPasswordを入力してLoginボタンを押すと、POSTに対する応答が返ってきます。HTTPのみならず、サーバとクライアント間でJSONやXMLなどを受け渡しできます。Webアプリを作るのに良さそうです。画像ファイルサイズを変更。Automatorでクイックアクション化。ファイル名をハッシュ値でリネーム。Automatorでクイックアクション化。BottleでWebSocketを試す。コメントをキャンセルメールアドレスが公開されることはありません。上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。画像ファイルサイズを変更。Automatorでクイックアクション化。ファイル名をハッシュ値でリネーム。Automatorでクイックアクション化。DockerでHTTPS-PORTAL使うとHTTPSサイトの構築が超絶簡単DockerでWordPress+MySQL+phpMyAdmin+WSGIのプラクティスBB-8のプラモデルを作りました。プラモデル作りを再開。BottleでWebSocketを試す。fastenersで排他ロックを試す。Blue-black.ink。