什麼是 Django Rest 框架?

王林
發布: 2024-08-01 21:14:05
原創
1017 人瀏覽過

What is Django Rest Framework?

在這篇文章中,我將解釋 Rest Framework。在討論技術細節之前,讓我們先來談談什麼是 Rest Framework。
Rest Framework 是一個高階框架,可讓我們為行動應用程式、Web 應用程式和桌面應用程式編寫通用後端。例如,您可以在行動應用程式和 Web 應用程式中使用使用 Rest Framewok 編碼的後端伺服器。
您可以使用 Rest Framework 結合 Angular、React、Vue 等前端技術來開發應用程式。由於 Rest Framework 在程式設計中以通用結構提供回應,因此您可以將這些輸出與 Angular 或 React 一起使用。那麼這些輸出有哪些類型呢?當然還有像 JSON 這樣的結構。當然,您也可以選擇將這些輸出以不同的結構傳送到前端。現在讓我們繼續編碼

建立專案
1) django-admin startproject projeName

我們已經創建了我們的專案。現在讓我們運行我們的專案。

2) python manage.py runserver

然後,讓我們編寫必要的命令來在資料庫中建立必要的表。

3) python manage.py 遷移

別忘了將我們建立的應用程式加入settings.py 檔案下的INSTALLED_APPS 目錄中。
一切都好。現在我們可以繼續執行其餘框架的必要步驟。
要在我們的電腦上安裝 Rest Framework,我們需要在終端機中執行以下命令。

1) pip install djangorestframework
例如;
已安裝的應用程式 = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'POSTAPP',
]

現在我們已經新增了Rest框架,我們可以開始建立API了。為此,我們需要在我們創建的應用程式資料夾中建立一個名為 API 的資料夾和一些檔案。讓我們加入這些檔案:

您的_項目/
api/
init.py
視圖.py
urls.py
序列化器.py

透過 ** init.py** 文件,我們顯示該資料夾是一個 Python 模組
views.py ** 文件是我們將編寫類別或函數的文件,這些類別或函數將提供我們將發送給傳入請求的答案。
**urls.py
文件是我們將在其中設定 API url 的文件,您可以從 Django 的結構中猜測。
serializers.py 文件是我們將在其中編寫結構的文件,這些結構會將傳入的查詢集轉換為我們想要的格式(例如 JSON)。我們將逐步詳細介紹這一點。
首先,讓我們轉到專案主資料夾中準備好的 urls.py 文件,並根據我們建立的 API 資料夾定義 url 路徑。

urlpatterns = [
路徑('admin/', admin.site.urls),
路徑("api/post/",include("YOUR_PROJECT.api.urls",namespace="post")),
]

我們已經有一個管理路徑。我們還新增了一個新路徑 api/post。使用 Include 方法,我們將傳入 api/post/ 的請求重定向到我們建立的 API 資料夾中的 url 檔案。
現在,讓我們快速為我們創建的帖子編寫一個模型。讓我們來看看 YOUR_PROJECT 資料夾中的 models.py 檔案。

類別 PostModel(models.Model):
作者 = models.ForeignKey(User,on_delete=models.CASCADE)
標題 = models.CharField(max_length=50)
內容 = models.TextField()
Draft = models.BooleanField(default=False)
ModifiedDate = models.DateTimeField(editable=False)

建立模型後,讓我們在終端機中編寫必要的程式碼以在資料庫中建立表。

python manage.py makemigrations

使用這些程式碼,我們建立了在資料庫中建立表格所需的 Python 檔案。我們將運行以下命令來建立表。

*python manage.py 遷移 *

現在讓我們來看看我們建立的 YOUR_PROJECT 目錄下 api 資料夾中的空 urls.py 檔案。

來自 django.urls 導入路徑
從 .views 導入 YourProjectAPIView

app_name="貼文"
urlpatterns = [
路徑(“列表/”,YourProjectAPIView.as_view(),name =“your_project”),
]

首先,我們使用 app_name=”post” 指定應用程式名稱。
現在,我們嘗試匯入尚未建立的視圖,並嘗試根據我們的路徑使用它們。讓我們立即建立視圖,其名稱已寫入 YOUR_PROJECT/api 目錄下的views.py 檔案中。
首先,讓我們建立一個視圖,在該視圖中我們將使用 JSON 結構的請求發送資料庫中的所有貼文。

從 POSTAPP.models 導入 PostModel
從rest_framework.generics導入ListAPIView

類別 PostListAPIView(ListAPIView):
serializer_class = PostSerializer
queryset = PostModel.objects.all()

讓我們解釋一下我們在這裡做了什麼。我們使用 ListAPIView 類別建立了一個視圖,該類別為 Rest Framework 中的清單流程做好了準備。首先,我們確定將使用查詢集變數傳回哪個模型。我們需要指定序列化器類,它將序列化來自該模型的數據,即查詢集。畢竟我們不會向對方發送查詢集。我們將發送序列化的 JSON 物件。將查詢集轉換為 JSON 物件的結構將是我們將要建立的序列化器。
現在,我在serializer_class變數中建立了一個名為PostSerializer的序列化器。我們將在同一目錄中的serializers.py 檔案中建立此序列化器。現在讓我們來創建它。

從rest_framework匯入序列化器

類別 YourProjectSerializer(serializers.ModelSerializer):
類元:
模型 = PostModel
fields = ["作者","標題","內容",'草稿','修改日期']

以上是什麼是 Django Rest 框架?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!