- 页面渲染:客户端渲染页面(SPA)、服务端渲染页面(模板技术)
-
- 数据库连接技术:数据库连接池、数据访问
-
- 服务管理:接口、路由、权限
-
- 异步任务调度:异步、同步、回调
-
- Python:Flask
-
- Java:Spark Java
-
- Python:Django
-
- Java:Spring 全家桶
-
Flask
Flask 是一个使用 Python 编写的轻量级 Web 应用程序框架。
官网:flask.palletsprojects.com/en/2.0.x/
安装
使用 pip 进行安装:
pip install Flask
简单使用
安装好后,输入以下代码开启 flask 服务:
from flask import Flask
# 指定 Flask 名字为文件名
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
```
可以在命令行运行代码,下面命令的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/
```
,可获得响应:
```
Hello, World!
```
对 /login 路径返回指定请求:
```
from flask import Flask, request
app = Flask(__name__)
# methods 代表只监听 get 和 post 请求
@app.route("/login", methods=['post', 'get'])
def login():
res = {
"methods": request.method, # 请求方法
"path": request.path, # 请求路径
"args": request.args, # 请求参数
"form": request.form # 表单
}
return res
```
时:
```
{
"args": {
"a": "1",
"b": "2"
},
"form": {},
"methods": "GET",
"path": "/login"
}
```
使用 curl 命令发送 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 实现, 保存在服务端的键值对,在浏览器的 Cookie 中也对应相同的随机字符串,用来再次请求的时候验证:
```
from flask import Flask, request, session
app = Flask(__name__)
# 配置密钥
app.secret_key = "hello"
# methods 代表只监听 get 和 post 请求
@app.route("/login", methods=['post', 'get'])
def login():
# 使用 session 将请求的 name 参数存到 session
session["name"] = request.args.get("name")
return {"msg": "OK"}
```
在发起请求的浏览器可以看到 Cookies :

后端web开发框架就先介绍到这里,大家可以试着做一下练习,我们后面会讲数据持久化技术,请持续关注哦~
[原文链接](https://mp.weixin.qq.com/s?__biz=MzU3NDM4ODEzMg==&mid=2247499692&idx=1&sn=c5ff02e2d6186fea8b4d959e227233ad&chksm=fd319d67ca461471730fb0baac28d2523f29b70fa72176ea3d6836fdd68e857ea365db69d0ae#rd)
[更多技术文章](https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=juejin×tamp=1663233229&author=ML