我們都知道,在開發(fā)工作中,使用現成的框架或者庫來做開發(fā)的話,可以節(jié)省大量的工作,這也是開發(fā)人員常說的,不要重復造輪子。在使用Python做Web開發(fā)的時候,有哪些web框架可以來幫我們提高效率,加快網站上線呢?我們來看這些常用的Web開發(fā)框架。
藤縣網站制作公司哪家好,找成都創(chuàng)新互聯公司!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、成都響應式網站建設公司等網站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯公司2013年開創(chuàng)至今到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創(chuàng)新互聯公司。
基于BSD協議開源的Web框架,它是一個輕量級的Web框架,啟動非常迅速且簡單。它依賴于Werkzeug這個WSGI這個WSGI工具(用于接收路由請求)和Jinja2 模板(用于渲染網頁)。它采用了一個簡單核心加擴展的架構方式,也就是說,除了核心功能以外,其他的功能都需要你自己來選擇對應的庫來提供功能。當然,官方為大家提供了一些常用的庫。Flask的簡單從代碼中就能看出來,例如下面的代碼中,就是輸出Hello, world
頁面的信息:
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/ , 有興趣的同學可以到官網上研究一下它的官方文檔。
上面我們說到Flask的哲學是簡單,那么Django的哲學應該就是大而全了。Django的內部模塊,幾乎提供了大部分Web開發(fā)所需要的功能,例如用戶認證、數據庫遷移、會話(Session)和Cookie管理等等。它的模板引擎和Flask一樣,都是基于Jinja2,同時,它的對象關系映射(ORM)功能,做的非常簡單,直接通過模型來操作數據,開發(fā)人員看到的只是Python里的類模型,而底層不管你是使用MySQL也好,還是PostgreSQL、Oracle這樣的數據庫,都可以直接使用模型來操作,大大降低了和數據庫打交道的難度,為開發(fā)人員節(jié)省了大量時間。它甚至還為你直接提供了一個管理后臺,讓你可以直接管理對應的數據信息,可以說是一個萬能工具箱了,Django也因此被各大網站所采用。
如果你想嘗試一下開發(fā)Django網站,可以根據下面的代碼嘗試一下:
# 1. 打開windows命令行窗口或者linux的shell窗口,先安裝django模塊
pip install django
# 2. 創(chuàng)建一個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頁面:
想嘗試的同學,可以到django的官網上去看一下,Django也是為數不多提供中文文檔的開發(fā)框架,它的官網地址是:http://djangoproject.com
Web2py框架是一個開源的全棧式框架,可以用于開發(fā)快速、可擴展、安全以及可移值的數據庫驅動web應用。它的特點是:
自帶電池,所有你需要的東西都在官方包里包含;
簡單運行,不需要安裝和配置,而是全部通過web界面來管理和配置。
支持多種web服務器,可通過WSGI協議和Nginx、Apache等主流瀏覽器良好配合
支持多種后端數據庫,例如SQLite、PostgreSQL、MySQL、MSSQL等等
web2py的官網頁面是:www.web2py.com,在官網頁面提供了一個在線嘗試開發(fā)web2py應用的頁面,地址是:https://www.pythonanywhere.com/try-web2py/。
Dash的官網頁面是:https://plot.ly/dash/
相對于上面的幾個框架來說,bottle可以說是一個微型的網頁框架,它通過一個簡單的資源文件來提供所有的功能,因此這個web框架一般用來設計web api,它的標準庫中沒有任何依賴項,也就是說,你可以把它和其他框架結合在一起使用。bottle的使用也非常簡單,示例代碼如下:
from bottle import route, run, template
@route('/hello/')
def index(name):
return template('Hello {{name}}!', name=name)
run(host='localhost', port=8080)
執(zhí)行這個代碼文件,然后在瀏覽器中打開地址
http://127.0.0.1:8080/hello/world/