在這篇文章中,我將解釋 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中文網其他相關文章!