【Python】Webフレームワーク「Bottle」のインストールから使い方を簡単に解説

目次から探す

Bottleフレームワークのインストール方法

PythonのWebフレームワークであるBottleを使ってWebアプリケーションを開発するためには、まずBottleをインストールする必要があります。

ここでは、2つのインストール方法を紹介します。

pipを使ったインストール

pipはPythonのパッケージ管理ツールで、Pythonのライブラリやツールを簡単にインストールできます。

Bottleもpipを使って簡単にインストールすることができます。

まず、コマンドプロンプト(Windows)またはターミナル(Mac, Linux)を開き、以下のコマンドを入力してください。

pip install bottle

このコマンドを実行すると、Bottleがインストールされます。

シングルファイルであるため、信じられない速度でインストールが完了します。

インストールが完了したら、PythonのインタラクティブシェルやスクリプトでBottleをインポートして使用することができます。


from bottle import route, run, template

基本的にはpipを使った方法がおすすめです。

ソースコードからのインストール

もう一つのインストール方法は、Bottleのソースコードをダウンロードしてインストールする方法です。

これは、最新の開発版や特定のバージョンをインストールしたい場合に便利です。

まず、Bottleの公式GitHubリポジトリ(https://github.com/bottlepy/bottle )からソースコードをダウンロードしてください。

ダウンロードしたら、解凍して得られたディレクトリに移動し、以下のコマンドを実行します。

python setup.py install

このコマンドを実行すると、ソースコードからBottleがインストールされます。

インストールが完了したら、pipでインストールした場合と同様に、PythonのインタラクティブシェルやスクリプトでBottleをインポートして使用することができます。

以上が、Bottleフレームワークのインストール方法です。

どちらの方法でも簡単にインストールできるので、自分の環境や好みに合わせて選択してください。

インストールが完了したら、Bottleを使ってWebアプリケーションの開発を始めましょう。

Bottleフレームワークを使ったWebアプリケーションの作成

Bottleフレームワークを使って、簡単なWebアプリケーションを作成してみましょう。

ここでは、基本的な構造やテンプレートの利用、静的ファイルの扱いについて説明します。

基本的な構造

Bottleフレームワークを使ったWebアプリケーションは、以下の2つの要素で構成されます。

ルーティングの設定

ルーティングとは、URLとビュー関数(処理を行う関数)を関連付けることです。

Bottleフレームワークでは、デコレータを使ってルーティングを設定します。

以下は、ルートURL(/)にアクセスしたときにhello関数を呼び出す例です。


from bottle import route, run
@route('/')
def hello():
    return "Hello, World!"
run(host='localhost', port=8080)

上記プログラムを実行した状態で、ブラウザのアドレスバーにlocalhost:8080と入力してアクセスしてみてください。

Hello, World!と表示されたはずです。

Webページが動的に生成される

プログラムを終了するときはCtrl + Cキーを押すだけです。

ビュー関数の定義

ビュー関数は、クライアントからのリクエストに対して処理を行い、レスポンスを返す関数です。

上記の例では、hello関数がビュー関数として定義されています。

テンプレートの利用

Bottleフレームワークでは、テンプレートエンジンを使ってHTMLファイルに動的なデータを埋め込むことができます。

テンプレートファイルの作成

まず、テンプレートファイルを作成します。

以下は、templatesディレクトリにhello_template.tplという名前で保存されたテンプレートファイルの例です。

<!DOCTYPE html>
<html>
<head>
    <title>{{title}}</title>
</head>
<body>
    <h1>{{message}}</h1>
</body>
</html>

{{title}}{{message}}の部分が、後でPythonのコードから渡されるデータで置き換えられます。

テンプレートのレンダリング

テンプレートを使ってHTMLファイルを生成するには、template関数を使います。

以下の例では、hello_template関数がビュー関数として定義されており、hello_template.tplテンプレートファイルを使ってHTMLファイルを生成しています。


from bottle import route, run, template
@route('/hello_template')
def hello_template():
    return template('hello_template', title='Hello Template', message='Hello, Bottle!')
run(host='localhost', port=8080)

Pythonソースファイルとhello_template.tplを同じフォルダに配置して実行したら、ブラウザでhttp://localhost:8080/hello_templateにアクセスしてみてください。

{{title}}{{message}}がPython側で指定した文字列に置換されて表示されます。

ページタイトルとテキストが置換されている

静的ファイルの扱い

Webアプリケーションでは、CSSやJavaScript、画像などの静的ファイルを扱うことがあります。

Bottleフレームワークでは、以下の方法で静的ファイルを扱うことができます。

静的ファイルの配置

静的ファイルは、通常staticディレクトリに配置します。

例えば、static/cssディレクトリにCSSファイルを、static/jsディレクトリにJavaScriptファイルを配置します。

|-- sample.py
`-- static/
    |-- css/
    |   `-- style.css
    `-- js/
        `-- main.js

静的ファイルへのアクセス

静的ファイルへのアクセスを許可するには、以下のようにルーティングを設定します。


from bottle import route, run, static_file
@route('/static/<filepath:path>')
def server_static(filepath):
    return static_file(filepath, root='static')
run(host='localhost', port=8080)

これで、/static/css/style.cssのようなURLで静的ファイルにアクセスできるようになります。

1 2 3 4 5

目次から探す