后端 web 開發(fā)框架的技術(shù)如下:
-
頁面渲染:客戶端渲染頁面(SPA)、服務(wù)端渲染頁面(模板技術(shù))
-
數(shù)據(jù)庫連接技術(shù):數(shù)據(jù)庫連接池、數(shù)據(jù)訪問
-
服務(wù)管理:接口、路由、權(quán)限
-
異步任務(wù)調(diào)度:異步、同步、回調(diào)
最早服務(wù)端會對頁面進(jìn)行渲染,隨著發(fā)展,前端渲染與服務(wù)端分離開,前端和后端通過接口進(jìn)行對接。目錄后端框架分為二大類:
迷你型框架
-
Python:Flask
-
Java:Spark Java
大而全的框架:集成 web 開發(fā)所有功能
-
Python:Django
-
Java:Spring 全家桶
但是用 Django 開發(fā)比較少,之前只有中國互聯(lián)網(wǎng)的知乎和豆瓣,小項(xiàng)目開發(fā)使用 Flask 即可。
Flask
Flask 是一個(gè)使用 Python 編寫的輕量級 Web 應(yīng)用程序框架。
官網(wǎng):https://flask.palletsprojects.com/en/2.0.x/
安裝
使用 pip 進(jìn)行安裝:
pip install Flask
簡單使用
?
安裝好后,輸入以下代碼開啟 flask 服務(wù):
from flask import Flask
# 指定 Flask 名字為文件名
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
可以在命令行運(yùn)行代碼,下面命令的hello
?是文件名:
Windows 使用 CMD 運(yùn)行:
> set FLASK_APP=hello
> flask run
* Running on http://127.0.0.1:5000/
MAC 或 Linux 使用 BASH 運(yùn)行:
$ export FLASK_APP=hello
$ flask run
* Running on http://127.0.0.1:5000/
使用 Get 請求訪問?http://127.0.0.1:5000/
?,可獲得響應(yīng):
Hello, World!
對 /login 路徑返回指定請求:
from 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
?時(shí):
{
"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 實(shí)現(xiàn), 保存在服務(wù)端的鍵值對,在瀏覽器的 Cookie 中也對應(yīng)相同的隨機(jī)字符串,用來再次請求的時(shí)候驗(yàn)證:
Flask 的 Session 是通過加密之后放到了 Cookie 中,所以下面代碼需要設(shè)置密鑰。
from 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 :
后端web開發(fā)框架就先介紹到這里,大家可以試著做一下練習(xí),我們后面會講數(shù)據(jù)持久化技術(shù),請持續(xù)關(guān)注哦~文章來源:http://www.zghlxwxcb.cn/news/detail-453860.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-453860.html
到了這里,關(guān)于聊聊后端Web開發(fā)框架(Python)的簡單使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!