iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
Software Development

使用Django Rest Framework, Docker, Docker Compose 製作後端服務應用系列 第 28

[Day28] - Django-REST-Framework API 期末專案實作 (三)

上一篇我們編寫了 Serializers, Views,以及修改了urls.py,完成了基本的菜單查詢功能,今天我們要為部分功能加上權限。

修改 views.py

我們要修改讓 FoodDetailAPIview 不是一般使用者可以使用。
新增 IsAuthenticated,並於 FoodDetailAPIview

from rest_framework import generics
from .models import Food
from .serializers import FoodSerializer
from rest_framework.permissions import IsAuthenticated

class FoodListCreateAPIView(generics.ListCreateAPIView):
    queryset = Food.objects.all()
    serializer_class = FoodSerializer

class FoodDetailAPIview(generics.RetrieveUpdateDestroyAPIView):
    queryset = FOod.objects.all()
    serializer_class = FoodSerializer
    permission_classes = [IsAuthenticated]

如此當 url 傳送至 FoodDetailAPIview 後,會確認 request 方是否已經登入。
如此確保非會員不會對資料進行修改。

結語

這三天我們已經建立好一個吃吧的菜單查詢 API,食物總覽,食物詳細資料,增加食物,修改食物資訊,刪除食物,權限功能。接下來我們要將服務進行部署了~


上一篇
[Day27] - Django-REST-Framework API 期末專案實作 (二)
下一篇
[Day 29] -- 專案部署
系列文
使用Django Rest Framework, Docker, Docker Compose 製作後端服務應用30

尚未有邦友留言

立即登入留言