用Python進行Web開發,零基礎學習Python編程路線

Web開發這樣一個大概念,對小白來講,想學也不知道從哪下手,當今Web開發的一大熱門語言是Python,從Python入手,學習Web後端開發,也許要容易些。css

1 WSGI, 即Web Server Gateway Interface

Web開發有兩大基礎:html

  • 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 '<h1>Hello World!</h1>'

上面的這個函數就是WSGI規定的函數形式,接收兩個參數environ, start_response,返回header和body。從這個例子咱們能夠看出,WSGI已經對開發者隱藏了HTTP協議的發送、接收過程,而開發者只須要管好本身的Web程序要作的事情,可謂大大便捷了開發人員的工做。python

2 Web框架

WSGI是重要的Web開發庫,使開發者再也不被HTTP協議困擾,但僅僅有WSGI還不夠,在實際開發中,咱們但願有一套Web框架,能爲開發者作更多的事情。開發者想要框架能作更多事情,想要框架可以處理不一樣URL的訪問,如對同一ip不一樣目錄的訪問;想要框架可以處理不一樣形式的訪問,如GET, POST等。數據庫

這就說到了用Python進行Web開發的利器:Web框架。Web框架提供了Web開發更高層次的抽象,開發者能夠把更少的精力花在各類響應的區分上,而把主要的精力用在響應的內容上。以主流的Python-Web框架Flask爲例,開發者能夠爲每種URL,每一個訪問方式定義單獨的函數。下面的代碼就是一個簡單的Flask框架下的Web程序。編程

在學習過程當中有什麼不懂得能夠加個人
python學習交流扣扣qun,784758214
羣裏有不錯的學習視頻教程、開發工具與電子書籍。
與你分享python企業當下人才需求及怎麼從零基礎學習好python,和學習什麼內容

from flask import Flask
from flask import request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def home():
    return '<h1>Home</h1>'

@app.route('/signin', methods=['GET'])
def signin_form():
    return '''<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>'''

@app.route('/signin', methods=['POST'])
def signin():
    # 須要從request對象讀取表單內容:
    if request.form['username']=='admin' and request.form['password']=='password':
        return '<h3>Hello, admin!</h3>'
    return '<h3>Bad username or password.</h3>'

if __name__ == '__main__':
    app.run()

有了這些基本的認識,咱們就已經可以用Python進行Web開發了。flask

固然,本文所談及的,只是用Python進行Web開發最入門的知識,若要深刻下去,還有許多東西須要學習,如數據庫管理、自定義Web框架等。備註:(Web前端開發主要用到的仍是html, css和 JavaScript及相關工具。)後端

相關文章
相關標籤/搜索