flask之路径与函数的映射
一:运行报错
OSError: [Errno 98] Address already in use:5000端口可能被占
lsof -i:端口号 查看端口被那个进程使用,结果是python3.5
kill PID 杀死这个进行,运行程序,flaks框架正常运行
from flask import Flask app = Flask(__name__) @app.route("/") def aa(): return "index page"@app.route("/login") # 路径与视图函数的映射,通过路径匹配指定的视图函数 def login(): return "login page"
@app.route("/register") def register(): return "register page"
![](https://img2018.cnblogs.com/blog/1749518/201910/1749518-20191018223444892-864635814.png)
if __name__ == "__main__":
print(app.url_map) app.run()
app.url_map:路径与视图函数的映射
Map([<Rule '/register' (GET, HEAD, OPTIONS) -> register>, <Rule '/login' (GET, HEAD, OPTIONS) -> login>, * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) <Rule '/' (GET, HEAD, OPTIONS) -> aa>, <Rule '/static/<filename>' (GET, HEAD, OPTIONS) -> static>])
浏览器中输入127.0.0.1:5000/register---> 框架会直接找到对应的 register函数--->将返回值显示到页面上。
二:WEB应用程序中的角色
1.浏览器角色:就是发送http请求
浏览器发送请求的方式有: 1. 输入框输入网址 2. 点击a标签的 href 3. script 的 src 4. img的 src 5. link href 6. form 表单的 submit 7. Ajax请求
2.服务器角色:接收数据、发送数据
1.接收浏览器发送的请求,在这个请求中得到,请求行,请求头,请求体
2.向浏览器发送相关的数据
响应行、响应头、响应体
接收数据、发送数据的功能
3.flask框架的角色:处理网站的业务逻辑
4.数据库的角色:存储数据
三:flask框架内部自己集成了一个服务器
服务器的效率比较低:用于进行简单的数据访问。但是有了这个服务器,才能将视图函数return的东西,通过服务器,进行响应行,响应头,响应体的拼接,response给浏览器,浏览器进行展示。
flask服务器遵守的是wsgi协议,因为可以用高性能的遵循wsgi协议的服务器进行替代,满足线程的访问。