溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python常用Web框架介紹

發(fā)布時(shí)間:2020-05-27 21:19:50 來(lái)源:億速云 閱讀:361 作者:鴿子 欄目:編程語(yǔ)言

我們都知道,在開(kāi)發(fā)工作中,使用現(xiàn)成的框架或者庫(kù)來(lái)做開(kāi)發(fā)的話(huà),可以節(jié)省大量的工作,這也是開(kāi)發(fā)人員常說(shuō)的,不要重復(fù)造輪子。在使用Python做Web開(kāi)發(fā)的時(shí)候,有哪些web框架可以來(lái)幫我們提高效率,加快網(wǎng)站上線(xiàn)呢?我們來(lái)看這些常用的Web開(kāi)發(fā)框架。

1. Flask

基于BSD協(xié)議開(kāi)源的Web框架,它是一個(gè)輕量級(jí)的Web框架,啟動(dòng)非常迅速且簡(jiǎn)單。它依賴(lài)于Werkzeug這個(gè)WSGI這個(gè)WSGI工具(用于接收路由請(qǐng)求)和Jinja2 模板(用于渲染網(wǎng)頁(yè))。它采用了一個(gè)簡(jiǎn)單核心加擴(kuò)展的架構(gòu)方式,也就是說(shuō),除了核心功能以外,其他的功能都需要你自己來(lái)選擇對(duì)應(yīng)的庫(kù)來(lái)提供功能。當(dāng)然,官方為大家提供了一些常用的庫(kù)。Flask的簡(jiǎn)單從代碼中就能看出來(lái),例如下面的代碼中,就是輸出Hello, world頁(yè)面的信息:

from flask import Flask
app = Flask(__name__)

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

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

Flask的官網(wǎng)地址是:https://palletsprojects.com/p/flask/ , 有興趣的同學(xué)可以到官網(wǎng)上研究一下它的官方文檔。

2. Django

上面我們說(shuō)到Flask的哲學(xué)是簡(jiǎn)單,那么Django的哲學(xué)應(yīng)該就是大而全了。Django的內(nèi)部模塊,幾乎提供了大部分Web開(kāi)發(fā)所需要的功能,例如用戶(hù)認(rèn)證、數(shù)據(jù)庫(kù)遷移、會(huì)話(huà)(Session)和Cookie管理等等。它的模板引擎和Flask一樣,都是基于Jinja2,同時(shí),它的對(duì)象關(guān)系映射(ORM)功能,做的非常簡(jiǎn)單,直接通過(guò)模型來(lái)操作數(shù)據(jù),開(kāi)發(fā)人員看到的只是Python里的類(lèi)模型,而底層不管你是使用MySQL也好,還是PostgreSQL、Oracle這樣的數(shù)據(jù)庫(kù),都可以直接使用模型來(lái)操作,大大降低了和數(shù)據(jù)庫(kù)打交道的難度,為開(kāi)發(fā)人員節(jié)省了大量時(shí)間。它甚至還為你直接提供了一個(gè)管理后臺(tái),讓你可以直接管理對(duì)應(yīng)的數(shù)據(jù)信息,可以說(shuō)是一個(gè)萬(wàn)能工具箱了,Django也因此被各大網(wǎng)站所采用。
如果你想嘗試一下開(kāi)發(fā)Django網(wǎng)站,可以根據(jù)下面的代碼嘗試一下:

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

# 2. 創(chuàng)建一個(gè)django項(xiàng)目,會(huì)在當(dāng)前目錄下生成一個(gè)demo項(xiàng)目文件夾
django-admin startproject demo

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

# 4. 打開(kāi)demo子目錄里的settings.py文件,找到ALLOWED_HOSTS配置,改成下面的值
ALLOWED_HOSTS = [
    '127.0.0.1',
]

# 5. 啟動(dòng)demo項(xiàng)目,命令是:
python manage.py runserver 0.0.0.0:8000

# 6. 打開(kāi)瀏覽器,輸入地址
http://127.0.0.1:8000

此時(shí)你就會(huì)看到下面的demo頁(yè)面:
Python常用Web框架介紹

想嘗試的同學(xué),可以到django的官網(wǎng)上去看一下,Django也是為數(shù)不多提供中文文檔的開(kāi)發(fā)框架,它的官網(wǎng)地址是:http://djangoproject.com

3. Web2py

Web2py框架是一個(gè)開(kāi)源的全棧式框架,可以用于開(kāi)發(fā)快速、可擴(kuò)展、安全以及可移值的數(shù)據(jù)庫(kù)驅(qū)動(dòng)web應(yīng)用。它的特點(diǎn)是:
自帶電池,所有你需要的東西都在官方包里包含;
簡(jiǎn)單運(yùn)行,不需要安裝和配置,而是全部通過(guò)web界面來(lái)管理和配置。
支持多種web服務(wù)器,可通過(guò)WSGI協(xié)議和Nginx、Apache等主流瀏覽器良好配合
支持多種后端數(shù)據(jù)庫(kù),例如SQLite、PostgreSQL、MySQL、MSSQL等等
web2py的官網(wǎng)頁(yè)面是:www.web2py.com,在官網(wǎng)頁(yè)面提供了一個(gè)在線(xiàn)嘗試開(kāi)發(fā)web2py應(yīng)用的頁(yè)面,地址是:https://www.pythonanywhere.com/try-web2py/。

  1. Dash
    Dash也是一個(gè)開(kāi)源框架,它主要是用于開(kāi)發(fā)數(shù)據(jù)分析網(wǎng)頁(yè),為數(shù)據(jù)科學(xué)家、數(shù)據(jù)分析人員開(kāi)發(fā)的一款Web框架。它是構(gòu)建在Flask,Plotly.js和React.js之上。通過(guò)幾個(gè)簡(jiǎn)單的模式,Dash抽象出構(gòu)建基于Web的交互式應(yīng)用程序所需的所有技術(shù)和協(xié)議。
    Dash應(yīng)用程序在Web瀏覽器中呈現(xiàn),可以將應(yīng)用程序部署到服務(wù)器,然后通過(guò)URL進(jìn)行共享。
    由于Dash應(yīng)用程序是在Web瀏覽器中進(jìn)行查看,因此Dash本質(zhì)上是跨平臺(tái)和移動(dòng)端的。

Dash的官網(wǎng)頁(yè)面是:https://plot.ly/dash/

5. bottle

相對(duì)于上面的幾個(gè)框架來(lái)說(shuō),bottle可以說(shuō)是一個(gè)微型的網(wǎng)頁(yè)框架,它通過(guò)一個(gè)簡(jiǎn)單的資源文件來(lái)提供所有的功能,因此這個(gè)web框架一般用來(lái)設(shè)計(jì)web api,它的標(biāo)準(zhǔn)庫(kù)中沒(méi)有任何依賴(lài)項(xiàng),也就是說(shuō),你可以把它和其他框架結(jié)合在一起使用。bottle的使用也非常簡(jiǎn)單,示例代碼如下:

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)

執(zhí)行這個(gè)代碼文件,然后在瀏覽器中打開(kāi)地址
http://127.0.0.1:8080/hello/world/

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI