2019年7月23日火曜日

【Bottle】Python製webフレームワークBottleを使ってみる

かな~李前にRaspberryPiでアクセスポイントモード化を行いました。
これで携帯とRaspberryPiを接続することが出来るようになりました。
そこからの話ですね。


Tomcat等で公開ページを作成していれば
そのページを携帯から見ることが出来るのですが
Tomcatは結構でかい…というところがありまして、ちょっと躊躇していました。
調べてみると
Python製のWebフレームワークでBottleというのがあるみたいですね。
http://bottlepy.org/docs/0.12/


始めて知りました。
(ロゴがおしゃれですね!)





せっかくなのでそれを使ってみようかと思います。




___________________________________

Bottleとは?



他サイトを見てみたところ、
BottleはPython製の軽量なWebフレームワークで
ローカルサーバーを簡単に立てることが出来るのだとか。
凝った感じのページでなければ結構簡単に作れるみたいです。


ある程度でっかい規模のWebサービスとかだったりすると
やっぱりTomcatとか、それに準ずるものがあった方がいいみたいですが、
小規模のプロトタイプ作成とかなら結構よさそうな感じですね。


これを使ってRaspberryPi内で公開ページを作成するというのをやろうと思います。



___________________________________

Bottleのための準備



とりあえずRaspberryPiにインストールします。
通常通りにOSを入れていればPython自体は入っていると思います。
なので、基本的には下記のコマンドを実行するだけ!


pip install bottle


これで準備は終わりです。

直ぐ試せるってのはいいですよね!



___________________________________

とりあえず動かしてみる!



インストールしたので、動かしてみましょう。
とりあえず、下記のPythonファイルを作成します。
自分は「hello.py」のファイルで作成しています。

# -*- coding:utf-8 -*-
from bottle import route,run
@route('/hello')
def hello():
    return "Hello world!"
run(host='localhost', port=8080, debug=True)

とりあえずこんな感じ。
んで、実行します。


python hello.py   


実行状態になったら、ブラウザを立ち上げます
http://localhost:8080/hello



成功していれば、ブラウザ画面に「Hello world!」と出るはず!



___________________________________

外部からのアクセス?



上記のコードだと、Localのみで外部からアクセスが出来ないみたいです。
最終行の部分がlocalhostだと、内部のみの動作になるみたいです。


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

ここの部分ですね
下記の様に変更します。


run(host='0.0.0.0', port=8080, debug=True)  


この状態で動作させると、下記のURLアクセスで
外部からもアクセスすることが出来ると思います。


http://(...IPアドレス...):8080/hello



___________________________________

動かしてみて…


bottleを試してみました。
まあ、HelloWorld出しただけですけど…。
導入も難しくないし、コードも(今のところ)割とシンプルですね。


IoT機器にWebアクセスしたいときとかに
ちょっと使えそうなんですよね~


pythonもおいおい勉強していかなくては…

0 件のコメント:

コメントを投稿