Python Bottleフレームワークのサンプル

PythonのBottleフレームワークのサンプルです。

確認環境
・Python 3.8.5
・Windows 10

目次

サンプル Bottleとは
  Bottleでhello worldを表示する
  GETでアクセスする
  POSTでアクセスする

Bottleとは

  • BottleはPythonのシンプルで小さいフレームワークです。
  • 単一のファイルモジュールで、Pythonの標準ライブラリ以外の依存関係はありません。
  • pipでBottleをインストールします。
  • 以下は、公式のBottleのリンクです。
    http://bottlepy.org/docs/dev/

Bottleでhello worldを表示する

1.最初に「pip install bottle」でBottleをインストールします。

Python pipでインストールする(Windows)

 

2.以下は、hello worldを表示するコードです。ファイル名は、server1.pyです。

# coding: utf-8
from bottle import route, run

@route('/test1')
def index():
    return "Hello World"

run(host='127.0.0.1', port=8765)

9行目は、アドレスとポート番号を指定しています。

 

サーバを起動する

上記コードを実行しサーバを起動します。

 

ブラウザにアドレスを入力する

ブラウザに以下のアドレスを入力すると画面にHello Worldが表示されます。

http://127.0.0.1:8765/test1

 

GETでアクセスする

GETでアクセスするサンプルです。

# coding: utf-8
from bottle import route,run,get,request

# 初期表示
@route("/test1")
def init():
    return """
    <form action="/display1" method="GET">
    ID: <input name="id" type="text" />
    名前: <input name="name" type="text" />
    <input value="登録" type="submit" />
    </form>
    """

@route("/display1", method="GET")
def disp1():
    str1 = request.query.get("id")
    str2 = request.query.get("name")

    return "IDは{}で名前は{}です".format(str1,str2)

run(host='127.0.0.1', port=8765)

8~12行目は、5行目の@routeの/test1にアクセスしたときに表示されます。
8行目のmethodはGETです。11行目のsubmitボタンを押すとGETで送信されます。

15行目以降は、11行目のsubmitボタンが押されたときに実行されます。
17行目は、入力された1つめの値を取得しています。query.getになっています。
20行目は、画面に文字を表示します。

以下は、最初に表示される画面です。

以下は、値を入力して登録ボタンを押した後の画面です。

POSTでアクセスする

POSTでアクセスするサンプルです。

# coding: utf-8
from bottle import route,run,post,request

# 初期表示
@route("/test1")
def test1():
    return """
    <form action="/display1" method="POST">
    ID: <input name="id" type="text" />
    名前: <input name="name" type="text" />
    <input value="登録" type="submit" />
    </form>
    """

@route("/display1", method="POST")
def test2():
    str1 = request.forms.get("id")
    str2 = request.forms.get("name")

    return "IDは{}で名前は{}です".format(str1,str2)

run(host='127.0.0.1', port=8765)

8~12行目は、5行目の@routeの/test1にアクセスしたときに表示されます。
8行目のmethodはPOSTです。11行目のsubmitボタンを押すとPOSTで送信されます。

15行目以降は、11行目のsubmitボタンが押されたときに実行されます。
17行目は、入力された1つめの値を取得しています。forms.getになっています。
20行目は、画面に文字を表示します。

以下は、最初に表示される画面です。

以下は、値を入力して登録ボタンを押した後の画面です。

関連の記事

Python http通信のサンプル

△上に戻る