検索
ホームページバックエンド開発Python チュートリアルPython 軽量 Web フレームワーク: Bottle ライブラリ!

Python 軽量 Web フレームワーク: Bottle ライブラリ!

その移植性と同様に、Bottle ライブラリの使用も非常に簡単です。この記事を読む前に、読者はすでに Python について簡単に理解していると思います。では、何百行ものコードでサーバーの機能を完了できる不思議な操作とはどのようなものでしょうか?様子を見ましょう。

1. ボ​​トル ライブラリのインストール

1) pip を使用してインストールします

Python 軽量 Web フレームワーク: Bottle ライブラリ!

2) ボトル ファイルをダウンロードします

https://github.com/bottlepy/bottle/blob/master/bottle.py

2.「HelloWorld!」

Hello World から始めて、この簡単な例から Bottle の基本的なメカニズムについて学びましょう。

最初のコード:

Python 軽量 Web フレームワーク: Bottle ライブラリ!

まず、ボトル ライブラリから get メソッドと run メソッドをインポートします。

次に、Web サイトを構築する必要があります。最初に IP アドレスとポートを取得する必要があります。関数のこの部分は実行によって完了します。テスト段階では、127.0.0.1 (このマシンのアドレス) とポート 80 (ブラウザーのデフォルト ポート):

このコードを python HelloWorld.py

Python 軽量 Web フレームワーク: Bottle ライブラリ!

のように実行します。 Web サイト サーバーが実行中です。ブラウザを開いて 127.0.0.1(:80)

Python 軽量 Web フレームワーク: Bottle ライブラリ!

と入力してください。おなじみの 404 エラー メッセージは Not found: '/' です。これは当然のことです。Web サイトにはサーバーのほかに、Web ページという非常に重要なコンポーネントがあるからです。

ブラウザが IP アドレスにアクセスすると、その IP に get リクエストを送信し、Web ページ データが返されるのを待ちます。その後、ボトル ライブラリは get メソッドをカプセル化してこのプロセスを実装します。

コードは次のとおりです:

Python 軽量 Web フレームワーク: Bottle ライブラリ!

#def の上にある @ 記号をご存知かどうかはわかりません。 Pythonの文法でいうデコレータですが、意味は簡単に言うとget関数を使ってホームページを修正するという意味です。ここで、@get(‘/’) は、ブラウザーがリクエスト GET 127.0.0.1/ を送信したときに、ホームページを対応する関数に装飾します。任意の処理を実行し、最終的に get リクエストに対する応答を返すことができます。ここでは単純な HelloWorld ページが返されます。再度実行すると、次の効果が得られます:

Python 軽量 Web フレームワーク: Bottle ライブラリ!

ボトルにカプセル化されたテンプレート メソッドを使用して分離することもできます。 Web ページ データ。.tpl ファイルに記述された例は次のとおりです:

Python 軽量 Web フレームワーク: Bottle ライブラリ!

run 関数にはパラメータ リローダもあります。これを True に設定すると、 Web サーバーの自動リロードをオンにします。変更を加えるとサーバーが自動的にリロードされ、Web サイトのホット アップデートが可能になります。

3. 動的ルーティングとファイルのダウンロード

上で使用した get('/') は本質的に静的ルーティングであり、アドレスはサーバーが実行される前に決定されます。このようにしてください。

では、サーバー ランタイムの場合はどうなるでしょうか?たとえば、Web サイト サーバー上のファイルへのアクセスは静的な方法では実行できませんが、この場合は動的ルーティングを使用できます。

Bottle の動的ルーティングは、route メソッドによって実装されますが、get と同様に、デコレータを使用して関数を装飾し、ルーティング関数を実装します。

Python 軽量 Web フレームワーク: Bottle ライブラリ!

#ここでは、デコレータのパラメータ「name」に一意なものが表示されています。変更された関数のパラメータは、コロン以降のパラメータと同じ名前になり、関数内で name パラメータを処理変数として使用し、最終的に応答を返すことができます。

Python 軽量 Web フレームワーク: Bottle ライブラリ!

# 動的ルーティングは、ファイルのルーティングに便利です。サーバーには数百または数千のファイルが保存されている可能性があり、それぞれのファイルの静的アドレスに依存することは不可能です。

Python 軽量 Web フレームワーク: Bottle ライブラリ!

ここでは、新しい関数 static_file を確認できます。最初のパラメータはファイル名、2 番目のパラメータはルート ディレクトリ アドレス (つまり、ファイルの場所)、現在のファイル システムは:

--HelloWorld.py

--store1.txt

ブラウザにアクセスして
を取得します。

Python 軽量 Web フレームワーク: Bottle ライブラリ!

もちろん、ルート パラメータをフォルダーのアドレスに置き換えるだけで、ファイルをフォルダーに配置することもできます。

4. POST レスポンスとファイルのアップロード

より複雑な機能を実装したい場合は、GET メソッドだけでなく POST メソッドも使用する必要があります。ここでは、HTML 言語のフォームを使用して、POST リクエストに対するボトル ライブラリの応答を示します。

Python 軽量 Web フレームワーク: Bottle ライブラリ!

#まず、上記のように、ファイルをアップロードするためのウィンドウを実装します。

#ここのページはシンプルなフォーム送信インターフェイスです。ここでは詳しく紹介しませんが、開くページは次のとおりです。

Python 軽量 Web フレームワーク: Bottle ライブラリ!

次の POST 応答コードは次のとおりです。

Python 軽量 Web フレームワーク: Bottle ライブラリ!

POST メソッドとリクエストをボトル ライブラリからインポートします。

get メソッドと同様に、post を使用して応答関数を装飾し、関数本体で request を使用して Web サイト サーバーが受信した post リクエストの本文を取得します。 request.forms.get()メソッドはフォーム内のKeyに対応する文字列を取り出すことができ、request.files.get()メソッドはフォーム内のKeyに対応するファイルを取り出すことができ、saveメソッドはファイルのアップロードを実現するためにデータを保存するために使用されます。

次にテストを実行します。

Python 軽量 Web フレームワーク: Bottle ライブラリ!

アップロードをクリックした後、サーバーのルート ディレクトリを開きます (これは、 Python ファイル)、ファイルが正常にアップロードされたことを確認してください。

Python 軽量 Web フレームワーク: Bottle ライブラリ!

5. 概要

これらの機能を完了したら、ボトルをネットワークにデプロイする必要があります。結局のところ、ボトルがローカルでのみ実行される場合、Web サイトはそれは何をするのですか?

清華ネットは、各ネットワーク アクセス ポイントにパブリック IP を提供します。cmd で ipconfig を使用して IP アドレスを確認し、run の実行パラメータをパブリック IP に変更してから、IP アドレスと任意のデバイスのブラウザ (携帯電話を推奨しますが、コンピュータのブラウザは非常に遅い場合があります) のポート番号 (デフォルトは 80) を使用すると、アクセスできます。

ボトル ライブラリには、Cookie の読み取りと書き込み、プラグインのインストール、アンインストール、無効化など、多くの強力な機能もあります。ボトルは他のサーバーにデプロイすることもできるため、複数のサーバーの実装が非常に簡単になります。スレッド化. 、これらの関数は読者が探索するのを待っています。

以上がPython 軽量 Web フレームワーク: Bottle ライブラリ!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Python:ゲーム、GUIなどPython:ゲーム、GUIなどApr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Apr 02, 2025 am 07:12 AM

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター