1.DRF 環境安裝與配置

文章目錄

  • 一. Django Rest_Framework
  • 二、環境安裝與配置
    • 2.1 安裝 DRF
    • 2.2 創建Django項目
    • 2.3 添加 rest_framework 應用
  • 三、啟動項目

一. Django Rest_Framework

核心思想:大量縮減編寫 api 接口的代碼

Django REST framework 是一個建立在 Django 基礎之上的 Web 應用開發框架,可以快速的開發 REST API 接口應用。在 REST framework 中,提供了序列化器 Serializer 的定義,可以幫助我們簡化序列化與發序列化的過程,不僅如此,還提供了豐富的類視圖、擴展類、視圖集來簡化視圖編寫工作。REST framework 還提供了認證、權限、限流、過濾、分頁、接口文檔等功能支持。RSET framework 提供了一個 Web 可視化界面來方便查看測試接口。
在這里插入圖片描述
中文文檔:https://q1mi.github.io/Django-REST-framework-documentation/#django-rest-framework

github: https://github.com/encode/django-rest-framework/tree/master

特點

  • 提供了定義序列化器 Serializer 的方法,可以快速根據 Django ORM 或者其他庫自動序列化/反序列化
  • 提供了豐厚的類視圖、Mixin 擴展類,簡化視圖的編寫
  • 豐富的定制層:函數視圖、類視圖、視圖集合到自動生成 API,滿足各種需要
  • 多種身份認證和權限認證方式的支持
  • 內置了限流系統
  • 直觀的 API web 界面
  • 可擴展性,插件豐富

二、環境安裝與配置

DRF 需要以下依賴:

  • Python(3.5以上)
  • Django(2.2以上)

DRF 是Django 子應用的方式提供的,所以我們可以直接利用已有的 Django 環境而無需從新創建。(若沒有 Django環境,需要先創建環境安裝 Django)

2.1 安裝 DRF

pip install Django==3.2.4
pip install djangorestframework==3.12.4
pip install PyMySQL==1.1.1

注意

  • Django 版本和 DRF 版本之間有依賴

2.2 創建Django項目

django-admin startproject drfdemo

2.3 添加 rest_framework 應用

settings.pyINSTALLED_APPS中添加’rest_framework’。

INSTALLED_APPS = [...'rest_framework',
]

接下來就可以使用 DRF 提供的功能進行 api 接口開發。在項目中如果使用 rest_framework 框架來實現 API 接口,主要有以下三個步驟:

  • 將請求數據(如 JSON 格式)轉化為模型類對象
  • 操作數據庫
  • 將模型類對象轉換為響應的數據(如 JSON格式)

配置數據庫連接并初始化 pymysql

settings.py代碼

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': "students","HOST": "127.0.0.1","PORT": "3306","USER": "root","PASSWORD": "123456",}
}

drfdemo.__init__.py 文件下添加代碼

# 適配連接數據庫報錯
import pymysql
pymysql.install_as_MySQLdb()

三、啟動項目

python manager.py runserver

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91421.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91421.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91421.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計模式(十九)行為型:備忘錄模式詳解

設計模式(十九)行為型:備忘錄模式詳解備忘錄模式(Memento Pattern)是 GoF 23 種設計模式中的行為型模式之一,其核心價值在于在不破壞封裝性的前提下,捕獲并外部化一個對象的內部狀態&#xff0c…

Qt/C++開發監控GB28181系統/錄像回放/切換播放進度立即跳轉/支持8倍速播放/倍速和跳轉進度無縫切換

一、前言說明 在國標監控系統中,錄像回放過程中,需要切換播放進度,對比過很過國標系統,絕大部分尤其是網頁版的監控系統,在切換進度過程中都會黑屏,這個體驗就很不友好了,明明gb28181協議中就有…

【11】大恒相機SDK C++開發 ——原圖像數據IFrameData內存中上下顛倒,怎么裁剪ROI 實時顯示在pictureBox中

文章目錄3 當內存中的 圖像數據是垂直翻轉的時候怎么截取ROI 并顯示3.1 對ROI在原圖中的位置做轉換3.2 將ROI的最后一行當做開始位置,從底部向上復制數據3.3 完整代碼3.4 圖像數據在內存中上下顛倒的情況3.5 調用驗證4 unsafe代碼 解釋及注意事項 看我另一篇文章5 C…

小架構step系列29:校驗注解的組合

1 概述如果遇到某些屬性需要多種校驗,比如需要非空、符合某正則表達式、長度不能超過某值等,如果這種屬性只有有限幾個,那么手工把對應的校驗注解都加上即可。但如果這種屬性比較多,那么重復加這些校驗注解,也是一種代…

網絡基礎19:OSPF多區域實驗

一、拓撲結構1. 網絡拓撲:骨干區域(Area 0):連接核心設備(AR1、AR2、AR3、AR4、AR5、AR6)。非骨干區域:Area 1:AR5 ? AR9Area 2:AR5 ? AR10Area 3:AR6 ? A…

goland編寫go語言導入自定義包出現: package xxx is not in GOROOT (/xxx/xxx) 的解決方案

問題 寫了個自定義的包 calc.go,在路徑 $GOPATH/go_project/src/demo_51_package/com/目錄下,其中main.go 是main方法的入口代碼 main.go 代碼如下 package main import "demo_51_package/com" func main() {add : calc.Add(1, 2)println(add)…

HLS視頻切片音頻中斷問題分析與解決方案

HLS視頻切片音頻中斷問題分析與解決方案 問題背景 在使用FFmpeg進行HLS視頻切片并通過hls.js前端播放時,開發者經常遇到一個典型問題:第一個視頻切片播放正常且有聲音,但后續切片卻突然失去音頻。這種現象在直播和點播場景中均有出現&#xf…

【Linux網絡編程】網絡層協議 - IP

目錄 背景補充 協議頭格式 IP報文的分片與組裝 網段劃分 網段劃分是什么?為什么要進行網段劃分? 怎么進行網段劃分? 路由 路由表生成算法 背景補充 假設現在主機B要給主機C發送消息。在我們前面的學習中,一直都是將數據拷…

從“救火”到“先知”:潤建曲尺運維大模型如何重構網絡運維價值鏈

“7月18號,北京,晴,最高溫度38攝氏度。”天氣預報緩緩播報,商場、地鐵、辦公樓無不歌頌著威利斯開利的貢獻,但這份涼爽的背后,離不開 “電” 的無聲托舉。5G毫秒級下載、絲滑的移動支付、智能電表、智能家居…

Element表格單元格類名動態設置

在 Element UI 的 el-table 組件中,cell-class-name 屬性用于動態自定義表格單元格的 CSS 類名,通常用于根據數據條件設置樣式。1. 基本用法在 el-table 上綁定 :cell-class-name 屬性,值為一個函數。該函數接收一個對象參數,返回…

利用容器適配器實現stack和queue外加deque的介紹(STL)

文章目錄前言什么是容器適配器?觀察庫中的源碼那么該如何使用容器適配器呢?deque的簡單介紹(了解)deque的原理介紹deque的優缺為什么選擇deque作為stack和queue的底層默認容器?(重點)利用容器適配器實現我們自己的棧和…

【因子動物園巡禮】第12章:機器學習在因子投資中的應用(中文翻譯)

【因子動物園巡禮】第12章:機器學習在因子投資中的應用(中文翻譯)第12章 因子投資中的機器學習12.1 量化金融中的人工智能12.2 量化因子投資的AI化組件:解剖學視角12.2.1 數據源拓展與預處理12.2.2 因子研究12.2.3 因子模型12.2.4…

【Golang】用官方rate包構造簡單IP限流器

文章目錄使用 Go 實現基于 IP 地址的限流機制什么是 IP 限流?基于 rate.Limiter 實現 IP 限流1. 設計思路2. 代碼實現3. 限流中間件4. 在 Gin 中使用中間件代碼解釋使用 Go 實現基于 IP 地址的限流機制 在高流量的服務中,限流是一個至關重要的環節。它不…

力扣 Pandas 挑戰(6)---數據合并

本文圍繞力扣的Pandas簡單題集,解析如何用Pandas完成基礎數據處理任務,適合Pandas初學者學習。題目1:1050. 合作過至少三次的演員和導演題目描述:ActorDirector 表:---------------------- | Column Name | Type | …

隨筆之TDengine基準測試示例

文章目錄一、基本信息二、基準測試策略三、基準測試過程1. 模擬高并發寫入場景2. 模擬并發查詢場景四、基準測試結論一、基本信息 TDengine 版本:3.3.6.13(目前最新版本)服務器配置:16核CPU,32GB內存,高IO…

【IQA技術專題】DISTS代碼講解

本文是對DISTS圖像質量評價指標的代碼解讀,原文解讀請看DISTS文章講解。 本文的代碼來源于IQA-Pytorch工程。 1、原文概要 以前的一些IQA方法對于捕捉紋理上的感知一致性有所欠缺,魯棒性不足。基于此,作者開發了一個能夠在圖像結構和圖像紋…

2024年SEVC SCI2區,一致性虛擬領航者跟蹤群集算法GDRRT*-PSO+多無人機路徑規劃,深度解析+性能實測

目錄1.摘要2.算法背景3.GDRRT*-PSO與虛擬領航者跟蹤算法4.結果展示5.參考文獻6.算法輔導應用定制讀者交流1.摘要 隨著無人機技術的快速發展及其卓越的運動和機動性能,無人機在社會和軍事等諸多領域得到了廣泛應用。多無人機協同作業,能夠顯著提升任務執…

鏈特異性文庫是什么?為什么它在轉錄組測序中越來越重要?

鏈特異性文庫是什么?為什么它在轉錄組測序中越來越重要? 在現代分子生物學研究中,RNA測序(RNA-seq) 是一種廣泛應用的技術,用于分析基因在不同條件下的表達情況。而在RNA-seq的眾多技術細節中,有…

ClickHouse vs PostgreSQL:數據分析領域的王者之爭,誰更勝一籌?

文章概要 作為一名數據架構師,我經常被問到一個問題:在眾多數據庫選擇中,ClickHouse和PostgreSQL哪一個更適合我的項目?本文將深入探討這兩種數據庫系統的核心差異、性能對比、適用場景以及各自的優缺點,幫助您在技術選…

面向對象系統的單元測試層次

面向對象系統的單元測試層次面向對象(Object-Oriented, OO)編程范式引入了封裝、繼承和多態等核心概念,這使得傳統的、基于函數的單元測試方法不再充分。面向對象系統的單元測試必須適應其獨特的結構和行為特性,從單一方法擴展到類…