公式チュートリアル(英語)よりわかりやすいPythonのwebフレームワークbottleの解説
強気に行きます。
半分忘備録、半分共有したい思いで書いてます。
この記事はいろいろな記事を見て、
「Bottle動いた!」
「これだけで動くなんてすげえ!」
…知りたいのはそこじゃなくて具体的な使い方なんだよ!!!!
ってなった人に対する記事です。
私自体がいろいろな言語を触るも仕事では一切使いませんし、何だったら今はpythonはおろかVBAともほとんど縁がない仕事しています。
そんな人間がBottleをつかってwebアプリ?を作ろうともがく記事です。
対象と筆者のレベル
対象:ちゃんと意味が分かりながら触りたい人向け
著者のレベル(全般):実務経験なし。基本情報、応用情報合格。
筆者のレベル(コーディング):読めって言われたら定義とかループとかならわかるけど、それ以上は…といった感じ。
筆者の特徴:学校の先生ができる(しているとはいっていない)ので、教えるほうにスキルポイント振ってます
bottleのインストール
これはほかの記事を見て頑張ってください。私はpycharmを使っているので、設定からインタープリターを+し、bottleと検索して使えるようになりました。
bottleのhello worldと@route の使い方
要約:「@route('/○○/')のurlがリクエストされたら以下を返すよ!」
初投稿(2019/02/26)時点ではこれ以外のことはしっかりマニュアル読まないとわからないレベルでした。
便利なことは
@route('/') ←これが最小単位
@route('/○○/')←色々足していける。urlでよく見る感じ
・・・・・・・
としておけば、あれとこれとそれの時に実行するという風にできることです。同じことをたくさん書かなくていいのでとても便利で好き。ほかの言語もこういうことできるんでしょうねきっと。
bottleのhello world
from bottle import route, run
@route('/')#今回は一番簡単な奴
def hibottle():#関数名なんてなんでもよい
return "so easy! :)"#ここの文面が出てくる
run(host='localhost',port=8080,debug=True)
実行してからhttp://localhost:8080/にアクセスするとhello world成功です。
この段階ではファイル名なんてなんでもよいです。run(○○)はローカルサーバーを立てるおまじないなので、特に気にしないで大丈夫です。ここでエラーが出る時はそもそもbottleが入っていないか、ポートが悪いことが多そうです。8080がなんたらっていう記事を探しましょう。
もうすこし遊びたい奴のhello world
from bottle import route, run
@route('/')#今回は一番簡単な奴
@route('/hi/')#hiでも同じものが出る
def hibottle():#関数名なんてなんでもよい
return "so easy! :)"#ここの文面が出てくる
@route('/hi/im/gosu/')
def imnotgosu():#関数名なんてなんでもよい
return "support is so easy dude? :)"#わかるひとにはわかる
run(host='localhost',port=8080,debug=True)
実行して出てきたページからurl末尾を '/'→'/hi/im/gosu/' にする(http://localhost:8080/hi/im/gosu/にアクセスする)と2つ目に設定した文字が出てきます。また '/hi/' も設定してある(こちらは1つ目)のでページが表示されますが、 '/hi/im/' は設定をしていないので、404 Notfoundでエラーになります。
これ弄っているだけで個人的にはまあまあ楽しいです。
今後の更新予定
【@route】Part.2⇒ワイルドカード(@routeのなかにある<name>的なあいつ)について
【template】⇒使えたらhtmlだけのページをブラウザに表示することができます。
【static_file】⇒templateと併用するとcssや画像付きのページをブラウザに表示することができます。