原创 FastAPI 學習之路(三十八)Static Files

  如果使用前後臺不分離的開發方式,那麼模板文件中使用的靜態文件,比如css/js等文件的目錄需要在後臺進行配置,以便模板渲染是能正確讀到這些靜態文件。那麼我們應該如何處理呢。     首先安裝依賴 pip install aiofile

原创 FastAPI 學習之路(四十)後臺任務

        我們在實際的開發中,都會遇到,我們要執行的一些任務很耗時,但是呢,對於前端呢,沒必要進行等待。比如發送郵件,讀取文件。我們在fastapi如何實現呢。         其實很簡單,fastapi已經給我們封裝好一個現成的模塊

原创 FastAPI 學習之路(三十六)引入APIRouter

 我們可以使用APIRouter來聲明路徑操作,我們先看下如何簡單的去使用。 from fastapi import APIRouter router=APIRouter() app = FastAPI() # 新建用戶 @router

原创 FastAPI 學習之路(四十一)如何打斷點調試我們的程序

        在前面的開發中,我們在寫代碼的過程中呢,很多時候都是利用 uvicorn main:app --reload      來部署啓動我們的服務,但是在實際的開發中,我們有時候可能需要加斷點去調試我們的程序,只有加了斷點

原创 FastAPI 學習之路(三十五)項目結構優化

之前我們的都是創建在一個文件中,但是我們在實際中,肯定不能這麼設計,那麼我們去創建一個目錄,叫models。大致如下。             主要目錄是 __init__.py 是一個空文件,但是說明models是一個package

原创 FastAPI 學習之路(三十四)數據庫多表操作

          之前我們分享的是基於單個的數據庫表的操作,我們在設計數據庫的時候也設計了跨表,我們可以看下數據庫的設計。          class User(Base): __tablename__ = "users"

原创 FastAPI 學習之路(三十三)操作數據庫

 通過創建pydantic模型進行驗證提交數據 from pydantic import BaseModel class UserBase(BaseModel): email: str class UserCreate(UserB

原创 FastAPI 學習之路(三十二)創建數據庫

在大型的web開發中,我們肯定會用到數據庫操作,那麼FastAPI也支持數據庫的開發,你可以用 PostgreSQL MySQL SQLite Oracle 等   本文用SQLite爲例。我們看下在fastapi是如何操作設計數據庫的

原创 FastAPI 學習之路(二十九)使用(哈希)密碼和 JWT Bearer 令牌的 OAuth2

既然我們已經有了所有的安全流程,就讓我們來使用 JWT 令牌和安全哈希密碼讓應用程序真正地安全。         關於 JWT                  它是一個將 JSON 對象編碼爲密集且沒有空格的長字符串的標準。字符串看起來像

原创 FastAPI 學習之路(二十四)子依賴項

FastAPI 支持創建含子依賴項的依賴項。並且,可以按需聲明任意深度的子依賴項嵌套層級。     FastAPI 負責處理解析不同深度的子依賴項。     我們去實現一個簡單的demo from fastapi import Depen

原创 FastAPI 學習之路(三十一)CORS(跨域資源共享)

 CORS 或者「跨域資源共享」 指瀏覽器中運行的前端擁有與後端通信的 JavaScript 代碼,而後端處於與前端不同的「源」的情況。 源     源是協議(http,https)、域(myapp.com,localhost,localh

原创 FastAPI 學習之路(二十五)路徑操作裝飾器依賴項

         有時,我們並不需要在路徑操作函數中使用依賴項的返回值。 或者說,有些依賴項不返回值。 但仍要執行或解析該依賴項。 對於這種情況,不必在聲明路徑操作函數的參數時使用 Depends,而是可以在路徑操作裝飾器中添加一個由 de

原创 FastAPI 學習之路(二十七)安全校驗

        你寫API接口肯定你是希望是有權限的人才能訪問,沒有權限的人是不能訪問的,那麼我們應該如何去處理呢,我們可以用的驗證方式有很多,我們這次分享的是用:OAuth2來認證。那麼我們看下,需要怎麼才能實現呢。我們現在的接口有一部分

原创 FastAPI 學習之路(二十六)全局依賴項 FastAPI 學習之路(二十五)路徑操作裝飾器依賴項

  有時,我們要爲整個應用添加依賴項。通過與定義FastAPI 學習之路(二十五)路徑操作裝飾器依賴項 類似的方式,可以把依賴項添加至整個 FastAPI 應用。         那麼我們看下,如何去實現,比如我們全局都需要校驗token。

原创 FastAPI 學習之路(二十三)用類作爲依賴的注入

  我們先看一個簡單的demo。 from typing import Optional from fastapi import Depends, FastAPI app = FastAPI() fake_items_db = [