后端 web 開發(fā)框架的技術如下:
頁面渲染:客戶端渲染頁面(SPA)、服務端渲染頁面(模板技術)
數(shù)據(jù)庫連接技術:數(shù)據(jù)庫連接池、數(shù)據(jù)訪問
服務管理:接口、路由、權(quán)限
異步任務調(diào)度:異步、同步、回調(diào)
最早服務端會對頁面進行渲染,隨著發(fā)展,前端渲染與服務端分離開,前端和后端通過接口進行對接。目錄后端框架分為二大類:
迷你型框架
Python:Flask
Java:Spark Java
大而全的框架:集成 web 開發(fā)所有功能
Python:Django
Java:Spring 全家桶
但是用 Django 開發(fā)比較少,之前只有中國互聯(lián)網(wǎng)的知乎和豆瓣,小項目開發(fā)使用 Flask 即可。
Flask
Flask 是一個使用 Python 編寫的輕量級 Web 應用程序框架。
官網(wǎng):https://flask.palletsprojects.com/en/2.0.x/
安裝
使用 pip 進行安裝:
pip install Flask
簡單使用
安裝好后,輸入以下代碼開啟 flask 服務:
f rom flask import Flask
# 指定 Flask 名字為文件名
app = Flask(__name__)
@app.route(“/”)
def hello_world():
return “
Hello, World!
“
可以在命令行運行代碼,下面命令的hello 是文件名:
Windows 使用 CMD 運行:
> set FLASK_APP=hello
> flask run
* Running on http://127.0.0.1:5000/
MAC 或 Linux 使用 BASH 運行:
$ export FLASK_APP=hello
$ flask run
* Running on http://127.0.0.1:5000/
使用 Get 請求訪問 http://127.0.0.1:5000/ ,可獲得響應:
Hello, World!
對 /login 路徑返回指定請求:
f rom flask import Flask, request
app = Flask(__name__)
# methods 代表只監(jiān)聽 get 和 post 請求
@app.route(“/login”, methods=[‘post’, ‘get’])
def login():
res = {
”methods”: request.method, # 請求方法
”path”: request.path, # 請求路徑
”args”: request.args, # 請求參數(shù)
”form”: request.form # 表單
}
return res
使用 Get 請求訪問 http://127.0.0.1:5000/login?a=1&b=2 時:
{
”args”: {
”a”: “1”,
”b”: “2”
},
”form”: {},
”methods”: “GET”,
”path”: “/login”
}
使用 curl 命令發(fā)送 post 請求:
curl -X POST [http://127.0.0.1:5000/login](http://127.0.0.1:5000/login) -d “a=2”
{“args”:{},”form”:{“a”:”2″},”methods”:”POST”,”path”:”/login”}
Session
Session 是基于 Cookie 實現(xiàn), 保存在服務端的鍵值對,在瀏覽器的 Cookie 中也對應相同的隨機字符串,用來再次請求的時候驗證:
Flask 的 Session 是通過加密之后放到了 Cookie 中,所以下面代碼需要設置密鑰。
f rom flask import Flask, request, session
app = Flask(__name__)
# 配置密鑰
app.secret_key = “hello”
# methods 代表只監(jiān)聽 get 和 post 請求
@app.route(“/login”, methods=[‘post’, ‘get’])
def login():
# 使用 session 將請求的 name 參數(shù)存到 session
session[“name”] = request.args.get(“name”)
return {“msg”: “OK”}
在發(fā)起請求的瀏覽器可以看到 Cookies :
途傲科技為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站建設、微信H5、微信小程序,多商戶平臺,多級分銷系統(tǒng),APP開發(fā),手機網(wǎng)站,HTML5多端自適應網(wǎng)站,營銷型企業(yè)站建設,及對技術人才的培養(yǎng)等都積累與沉淀了豐富的心得和實戰(zhàn)經(jīng)驗。
如果您有想法,可以將需求提交給我們【免費提交需求,獲取解決方案】
免責聲明:文章部分內(nèi)容收集于互聯(lián)網(wǎng),不代表本站的觀點和立場,如有侵權(quán)請聯(lián)系刪除。