在這篇文章中,我將解釋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管理.py runserver
然后,讓我們編寫必要的命令來在數據庫中創建必要的表。
3) python 管理.py 遷移
別忘了將我們創建的應用程序添加到settings.py文件下的INSTALLED_APPS目錄中。
一切都好。現在我們可以繼續執行其余框架的必要步驟。
要在我們的計算機上安裝 Rest Framework,我們需要在終端中運行以下命令。
1)pip 安裝 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 的文件夾和一些文件。讓我們添加這些文件:
YOUR_PROJECT/
API/
init.py
視圖.py
url.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 /”,包括(“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管理.py makemigrations
使用這些代碼,我們創建了在數據庫中創建表所需的 Python 文件。我們將運行以下命令來創建表。
*python管理.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 框架?的詳細內容,更多請關注愛掏網 - it200.com其它相關文章!