掌握 Django:從頭開始構建安全的用戶身份驗證 API
“## 第四天
#100daysofMiva 編碼挑戰賽已經進行四天了。 ???
? 深入了解 django:從頭開始構建安全的用戶身份驗證 api!
您準備好將您的 Django 技能提升到新水平了嗎? ? 在本教程中,我將指導您使用 Django 創建強大的用戶身份驗證 API。無論您是經驗豐富的開發人員還是新手,本分步指南都將引導您完成設置用戶注冊、登錄和基于令牌的身份驗證。
在本課程結束時,您將充分了解如何:
讓我們開始編碼吧! ??
第 1 步:設置 Django 環境:
為此,您需要安裝python:通過運行以下命令確保Python已安裝:
macOS/Linux:
Python 通常是預先安裝的。您可以通過運行來檢查:
或
如果需要,通過 Homebrew (macOS) 或包管理器 (Linux) 安裝 Python:
Windows:
從 python 下載并安裝 Python。
確保在安裝過程中選中將 Python 添加到您的 PATH 的復選框。
步驟 2. 設置虛擬環境:
macOS/Linux:
創建并激活虛擬環境:
Windows:
創建并激活虛擬環境:
步驟 3. 安裝 Django 和軟件包
現在沒有包的框架是什么?…讓我們安裝我們需要的包。?
激活虛擬環境后,安裝 Django 和其他軟件包的命令在所有操作系統上都是相同的:
說明:
`
步驟 4. 創建并配置 Django 項目
macOS/Linux/Windows:
創建 Django 項目和應用程序:
讓我們簡化必要的事情:
步驟 5. 更新項目設置
所有操作系統:
修改settings.py以包含您的應用程序和已安裝的軟件包。
文件:auth_project/settings.py
我們來解釋一下吧?:
INSTALLED_APPS:這是您注冊應用程序和第三方軟件包的地方。在這里,您添加用于API功能的rest_framework,用于JWT身份驗證的rest_framework_simplejwt,以及用于管理用戶相關任務的用戶(您創建的應用程序)。
一次不知道所有步驟也沒關系…只需要練習,你就會做對的
繼續前進…?
從這里抬起頭來看著伙計們?
步驟 6. 創建序列化器
文件:users/serializers.py
說明:
第7步:創建視圖
文件:users/views.py
說明:
第 8 步:設置 URL
文件:users/urls.py
此代碼寫在應用程序的 URL 中
說明:
URL 模式:這些定義映射到視圖的路徑。
**register/**:此 URL 將處理用戶注冊。
然后轉到您的項目文件:**auth_project/urls.py**
然后輸入這個…?
說明:
到下一個這里就可以好好休息了?…以后就沒有壓力了呵呵..
第 9 步:運行遷移
命令:
這樣做的功能/目的是,它根據您在項目中定義的模型和字段對數據庫架構進行更改。我們上面精心策劃的那些?
換句話說,它使項目保持最新狀態
第10步:運行服務器并測試
命令:
此命令啟動 Django 開發服務器,使您的項目可以在本地訪問。 (您當地的港口)
現在讓我們看看到目前為止我們做了什么……
使用 Postman 或 cURL 進行測試(您可以從 IDE 下載此擴展)
使用郵遞員
1.網址:127.0.0.1:8000/api/auth/register/
2.方法:郵寄
對于這一部分,Django-Rest Framework 有一個友好的用戶界面,因此比其他框架更容易在這里導航
如果成功,您應該收到 HTTP 狀態代碼 201 Created 的響應以及包含用戶數據的 JSON 響應。
測試令牌身份驗證端點
為了確保 JWT 身份驗證正常工作,請測試令牌端點。
使用郵遞員:
4、點擊發送。
您應該收到帶有訪問和刷新令牌的 JSON 響應:
**
故障排除技巧
**
服務器未啟動:確保您位于正確的目錄中并已激活虛擬環境。
端點錯誤:仔細檢查您的 URL 路徑并確保您的 Django 應用程序已使用 URL 正確設置。
無效響應:驗證您的 API 端點和序列化器是否已正確配置。
通過執行這些步驟,您應該能夠成功運行 Django 開發服務器、測試注冊端點并驗證基于令牌的身份驗證。
上一篇:感覺沒有動力
相關推薦
-
可視化項目
我目前正在開發 TanaMobility,這是一個使用 Dash 和 Python 開發的交互式平臺。該項目旨在通過利用地理空間數據對馬達加斯加塔那那利佛的交通流進行建模和可視化,以更好地了解人口流動
-
C++ 函數性能優化在云計算環境中的應用實踐
在云計算中,c++++ 函數性能優化至關重要,可提升響應速度、降低成本和提高滿意度。優化技術包括:內聯函數,消除函數調用開銷。使用引用,避免拷貝參數。有效管理內存,利用智能指針和 raii。最小化函數
-
我用 Golang 重寫了我的 JS 項目,想分享我的經驗
兩年前,我用 NodeJS 為自己構建了一個小型服務器 一個基于 HTTP 的 SQLite 代理。當您需要通過網絡與消費者共享數據集時,它非常有用。經過多次重構和新的需求,現在我終于決定用 Gol
-
C++ 函數最佳實踐在開源項目中的體現
C++ 函數最佳實踐在開源項目中的體現遵循 C++ 函數最佳實踐對于編寫維護性高且可重用的代碼至關重要。在開源項目中,遵循這些實踐尤為重要,因為代碼庫由來自不同背景的多個貢獻者貢獻。以下是 C++ 函
-
C++ 框架在大型項目中如何處理并發編程
c++++ 框架通過線程、互斥體、條件變量、原子操作和并發容器等功能,幫助大型項目處理并發編程,確保線程安全的數據訪問和高效任務執行。C++ 框架在大型項目中處理并發編程并發編程對于大型軟件項目至關重















