[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,食物总览,食物详细资料,增加食物,修改食物资讯,删除食物,权限功能。接下来我们要将服务进行部署了~


<<:  【Day28】反馈元件 - Modal

>>:  Day26 - 使用 Guard 来实作一个马克杯的状态机

[day17]Vue实作-浏览列加入登入及注册钮

延续之前的浏览列的实作,这次要增加登入跟注册纽,其实我也还在想这个网站是否需要注册功能,毕竟是私人社...

Day 10:Python基本介绍03 | List、Tuple

各位早安阿~ 不知不觉间已经来到铁人赛第十天,也就是过完1/3了呢,想想还真是快。只不过今天就开学了...

Raspberry pi 安装OpenCV

在最开头我提到这边有一个MIPI 的CSI接口的相机 可是前面只有稍微设定与测试 之後就开始来用这相...

【从实作学习ASP.NET Core】Day14 | 後台 | 用 Identity 实作会员功能

今天要用 .NET Core 自带的使用者管理套件 Identity 来实现网站的会员功能 ASP....