首頁  >  文章  >  後端開發  >  web前端開發python能做嗎

web前端開發python能做嗎

anonymity
anonymity原創
2019-06-14 10:02:1711145瀏覽

Web開發是一個大概念,而且當今Web開發的一大熱門語言是Python(最大的當然還是PHP)。

web前端開發python能做嗎

1 WSGI, 即Web Server Gateway Interface

Web開發有兩大基礎:

HTTP協定

HTML語言

HTTP協定在Web領域的重要性不必贅述,這樣一個重要的概念,如果交給開發者去實現,且不談編程,單是看懂龐大的協議,就會花掉大量的時間。好在我們意識到,實現協議的工作,顯然是可重複利用的。可重複利用的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,回傳header和body。從這個例子我們可以看出,WSGI已經對開發者隱藏了HTTP協定的發送、接收過程,而開發者只需要管好自己的Web程式要做的事情,可謂大大便捷了開發人員的工作。

2 Web框架

WSGI是重要的Web開發庫,使開發者不再被HTTP協定困擾,但僅僅有WSGI還不夠,在實際開發中,我們希望有一套Web框架,能為開發者做更多的事情。開發者想要框架能做更多事情,想要框架能夠處理不同URL的訪問,如對同一ip不同目錄的訪問;想要框架能夠處理不同形式的訪問,如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開發了。當然,本文所談及的,只是用Python進行Web開發最入門的知識,若要深入下去,還有許多東西需要學習,如資料庫管理、自訂Web框架等。

以上是web前端開發python能做嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn