Python Web框架簡介

咱們都知道,在開發工做中,使用現成的框架或者庫來作開發的話,能夠節省大量的工做,這也是開發人員常說的,不要重複造輪子。在使用Python作Web開發的時候,有哪些web框架能夠來幫咱們提升效率,加快網站上線呢?咱們來看這些經常使用的Web開發框架。python

1. Flask

基於BSD協議開源的Web框架,它是一個輕量級的Web框架,啓動很是迅速且簡單。它依賴於Werkzeug這個WSGI這個WSGI工具(用於接收路由請求)和Jinja2 模板(用於渲染網頁)。它採用了一個簡單核心加擴展的架構方式,也就是說,除了核心功能之外,其餘的功能都須要你本身來選擇對應的庫來提供功能。固然,官方爲你們提供了一些經常使用的庫。Flask的簡單從代碼中就能看出來,例以下面的代碼中,就是輸出Hello, world頁面的信息:linux

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

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

Flask的官網地址是:https://palletsprojects.com/p/flask/ , 有興趣的同窗能夠到官網上研究一下它的官方文檔。web

2. Django

上面咱們說到Flask的哲學是簡單,那麼Django的哲學應該就是大而全了。Django的內部模塊,幾乎提供了大部分Web開發所須要的功能,例如用戶認證、數據庫遷移、會話(Session)和Cookie管理等等。它的模板引擎和Flask同樣,都是基於Jinja2,同時,它的對象關係映射(ORM)功能,作的很是簡單,直接經過模型來操做數據,開發人員看到的只是Python裏的類模型,而底層無論你是使用MySQL也好,仍是PostgreSQL、Oracle這樣的數據庫,均可以直接使用模型來操做,大大下降了和數據庫打交道的難度,爲開發人員節省了大量時間。它甚至還爲你直接提供了一個管理後臺,讓你能夠直接管理對應的數據信息,能夠說是一個萬能工具箱了,Django也所以被各大網站所採用。
若是你想嘗試一下開發Django網站,能夠根據下面的代碼嘗試一下:shell

# 1. 打開windows命令行窗口或者linux的shell窗口,先安裝django模塊
pip install django

# 2. 建立一個django項目,會在當前目錄下生成一個demo項目文件夾
django-admin startproject demo

# 3. 切換到demo文件夾,裏面有1個文件manage.py和demo子目錄(配置文件目錄)
# cd demo; ls demo
demo manage.py

# 4. 打開demo子目錄裏的settings.py文件,找到ALLOWED_HOSTS配置,改爲下面的值
ALLOWED_HOSTS = [
    '127.0.0.1',
]

# 5. 啓動demo項目,命令是:
python manage.py runserver 0.0.0.0:8000

# 6. 打開瀏覽器,輸入地址
http://127.0.0.1:8000

此時你就會看到下面的demo頁面:
Python Web框架簡介數據庫

想嘗試的同窗,能夠到django的官網上去看一下,Django也是爲數很少提供中文文檔的開發框架,它的官網地址是:http://djangoproject.comdjango

3. Web2py

Web2py框架是一個開源的全棧式框架,能夠用於開發快速、可擴展、安全以及可移值的數據庫驅動web應用。它的特色是:
自帶電池,全部你須要的東西都在官方包裏包含;
簡單運行,不須要安裝和配置,而是所有經過web界面來管理和配置。
支持多種web服務器,可經過WSGI協議和Nginx、Apache等主流瀏覽器良好配合
支持多種後端數據庫,例如SQLite、PostgreSQL、MySQL、MSSQL等等
web2py的官網頁面是:www.web2py.com,在官網頁面提供了一個在線嘗試開發web2py應用的頁面,地址是:https://www.pythonanywhere.com/try-web2py/flask

  1. Dash
    Dash也是一個開源框架,它主要是用於開發數據分析網頁,爲數據科學家、數據分析人員開發的一款Web框架。它是構建在Flask,Plotly.js和React.js之上。經過幾個簡單的模式,Dash抽象出構建基於Web的交互式應用程序所需的全部技術和協議。
    Dash應用程序在Web瀏覽器中呈現,能夠將應用程序部署到服務器,而後經過URL進行共享。
    因爲Dash應用程序是在Web瀏覽器中進行查看,所以Dash本質上是跨平臺和移動端的。

Dash的官網頁面是:https://plot.ly/dash/windows

5. bottle

相對於上面的幾個框架來講,bottle能夠說是一個微型的網頁框架,它經過一個簡單的資源文件來提供全部的功能,所以這個web框架通常用來設計web api,它的標準庫中沒有任何依賴項,也就是說,你能夠把它和其餘框架結合在一塊兒使用。bottle的使用也很是簡單,示例代碼以下:後端

from bottle import route, run, template

@route('/hello/<name>')
def index(name):
    return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

執行這個代碼文件,而後在瀏覽器中打開地址
http://127.0.0.1:8080/hello/world/api

就能看到網頁上顯示的Hello world字樣。bottle的官網是:http://www.bottlepy.org/ , 感興趣的同窗能夠上去看看。

相關文章
相關標籤/搜索