上一篇我們編寫了 Serializers, Views,以及修改了urls.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,食物總覽,食物詳細資料,增加食物,修改食物資訊,刪除食物,權限功能。接下來我們要將服務進行部署了~