ホームページ  >  記事  >  バックエンド開発  >  Web フロントエンド開発は Python で行うことができますか?

Web フロントエンド開発は Python で行うことができますか?

anonymity
anonymityオリジナル
2019-06-14 10:02:1711136ブラウズ

Web 開発は大きな概念であり、今日の Web 開発で最も人気のある言語の 1 つは Python です (最大のものはもちろん PHP です)。

Web フロントエンド開発は Python で行うことができますか?

#1 WSGI、つまり Web サーバー ゲートウェイ インターフェイス

Web 開発には 2 つの基盤があります:

HTTP プロトコル


HTML 言語

Web 分野における HTTP プロトコルの重要性については、開発者に任せておけば改めて説明する必要はありません。プログラミングとなると、巨大なプロトコルを理解するだけでも時間がかかります。幸いなことに、プロトコルの実装作業は明らかに再利用可能であることがわかりました。再利用可能な HTTP プロトコルの実装は Python ライブラリにカプセル化されており、Python Web 開発用の最も基本的なライブラリである WSGI (Web Server Gateway Interface) があります。 WSGI は、開発者向けに HTTP プロトコルの実装をカプセル化し、ネットワーク通信をデータグラムを送受信するための単純な関数に抽象化します。 HTTP プロトコルの基本を理解している読者は、次の例を見てください。


def application (environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return &#39;<h1>Hello World!</h1>&#39;

上記の関数はWSGIで規定されている関数形式で、environとstart_responseの2つのパラメータを受け取り、headerとbodyを返します。この例から、WSGI が HTTP プロトコルの送受信プロセスを開発者から隠蔽しており、開発者は Web プログラムが行うべきことを管理するだけで済み、開発者の作業が大幅に簡素化されていることがわかります。

2 Web フレームワーク

WSGI は重要な Web 開発ライブラリなので、開発者は HTTP プロトコルに悩まされることがなくなりますが、WSGI だけでは十分ではありません。開発 では、開発者のためにさらに多くのことを実行できる一連の Web フレームワークを用意したいと考えています。開発者は、フレームワークにさらに多くの機能を提供すること、同じ IP アドレス上の異なるディレクトリへのアクセスなど、異なる URL へのアクセスを処理するフレームワーク、GET、POST などの異なる形式のアクセスをフレームワークが処理できることを望んでいます。

これは、Python を使用した Web 開発のための強力なツールである Web フレームワークについて説明します。 Web フレームワークは Web 開発に高いレベルの抽象化を提供するため、開発者はさまざまな応答を区別することに費やすエネルギーが減り、応答の内容に集中できます。主流の Python-Web フレームワークである Flask を例にとると、開発者は URL およびアクセス方法ごとに個別の関数を定義できます。次のコードは、Flask フレームワークによる単純な Web プログラムです。

from flask import Flask
from flask import request
app = Flask(__name__)
@app.route(&#39;/&#39;, methods=[&#39;GET&#39;, &#39;POST&#39;])
def home():
    return &#39;<h1>Home</h1>&#39;
@app.route(&#39;/signin&#39;, methods=[&#39;GET&#39;])
def signin_form():
    return &#39;&#39;&#39;<form action="/signin" method="post">
              <p><input name="username"></p>
              <p><input name="password" type="password"></p>
              <p><button type="submit">Sign In</button></p>
              </form>&#39;&#39;&#39;
@app.route(&#39;/signin&#39;, methods=[&#39;POST&#39;])
def signin():
    # 需要从request对象读取表单内容:
    if request.form[&#39;username&#39;]==&#39;admin&#39; and request.form[&#39;password&#39;]==&#39;password&#39;:
        return &#39;<h3>Hello, admin!</h3>&#39;
    return &#39;<h3>Bad username or password.</h3>&#39;
if __name__ == &#39;__main__&#39;:
    app.run()

これらの基本を理解すれば、すでに Python を Web 開発に使用できます。もちろん、この記事で説明するのは Web 開発で Python を使用するための最も入門的な知識にすぎません。さらに深く知りたい場合は、データベース管理やカスタム Web フレームワークなど、学ぶべきことがたくさんあります。

以上がWeb フロントエンド開発は Python で行うことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。