python web框架基础
生活随笔
收集整理的這篇文章主要介紹了
python web框架基础
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. Web框架簡介
- 1.1 MVC
- 1.2 模板引擎
- 2. 常用 Python Web 框架
- 3. 虛擬環境
- 4. 部署方式
learning from 《python web開發從入門到精通》
1. Web框架簡介
簡化 web 開發的軟件框架
一般都支持:管理路由,支持數據庫,MVC,ORM,模板引擎,管理會話和Cookies
1.1 MVC
- Model View Controller 一種設計模式
- Model 封裝數據和處理方法
- View 是數據的 HTML 展現
- Controller 負責響應請求,協調 Model 和 View
1.2 模板引擎
使用模板引擎可以在 HTML 頁面中使用變量 如 <title>{{title}}</title>
- {{}} 變量會被替換成相應的值,使得界面與數據分離,業務代碼與邏輯代碼分離,提高復用和開發效率
2. 常用 Python Web 框架
只要遵守 WSGI(服務器網管接口) 規則,就可以自主開發 Web 框架
- Django 最廣泛,社區最大,最多的包,但是系統耦合度高,替換內置功能麻煩,學習曲線陡峭
- Flask 輕量級,容易擴展
- Tornado 不單單是框架,還是 web 服務器,為了解決實時服務誕生的(使用了異步非阻塞IO),運行速度非???/li>
- FastAPI 現代的高性能框架,使用了類型提示,能減少開發錯誤,自動生成 API 文檔
3. 虛擬環境
不同的應用程序使用不同的環境依賴,避免升級后不兼容
- virtualenv
- conda
- pip 導出環境包的明細 pip freeze > requirements.txt
新環境下一次性安裝 pip install -r requirements.txt
pip 加速:-i 清華源地址 或者 配置 pip.ini 文件,添加源地址,自行網上搜索
4. 部署方式
WSGI
- 接受請求的服務器 + 處理請求的 APP
Gunicorn
- 常用的 WSGI Server 容器 有 Gunicorn ,uWSGI,Gunicorn 簡單,占用資源少,更快
Nginx
- 是一個 web 服務器,反向代理工具,通常來部署靜態文件
- 可以直接處理靜態文件請求,繞過APP服務器,避免占用運算資源,能緩存靜態資源,提速
- 抗并發能力,緩存住瞬時高并發請求,然后慢慢在后端處理
- 多臺服務器,可以提供負載均衡和反向代理
Supervisor
- 進程管理工具,看守進程,異常退出后,立即啟動進程
購買云服務器 https://cloud.tencent.com/product/cvm阿里,騰訊,百度,華為都可以
pip install gunicorn gunicorn -w 3 -b 0.0.0.0:9100 run:app w進程數,b綁定主機和端口,run是 run.py 文件,app 是py文件里的定義應用
也可以 -c 指定配置文件 如 xxxconf.py
Nginx
https://www.runoob.com/linux/nginx-install-setup.html
windows下安裝以及配置nginx
pip install supervisor
supervisor 安裝、配置、常用命令
使用云服務器玩一玩:
創建虛擬環境
編寫 run_flask_hello_world.py
在公網上可以訪問
總結
以上是生活随笔為你收集整理的python web框架基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1838. 最高频元素
- 下一篇: websocket python爬虫_p