日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python web框架基础

發布時間:2024/7/5 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

from flask import Flaskapp=Flask(__name__) @app.route('/') def index():return "hello michael!"if __name__ == "__main__":app.run() gunicorn -w 1 -b 0.0.0.0:9100 run_flask_hello_world:app [2021-12-03 12:05:05 +0800] [23677] [INFO] Starting gunicorn 20.1.0 [2021-12-03 12:05:05 +0800] [23677] [INFO] Listening at: http://0.0.0.0:9100 (23677) [2021-12-03 12:05:05 +0800] [23677] [INFO] Using worker: sync [2021-12-03 12:05:05 +0800] [23679] [INFO] Booting worker with pid: 23679

在公網上可以訪問

總結

以上是生活随笔為你收集整理的python web框架基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。