implement basic API GETs for countdown items

This commit is contained in:
2020-10-25 12:20:39 -05:00
parent a6f8fc5dc1
commit 9d94155f66
4 changed files with 44 additions and 3 deletions

14
countdown/serializers.py Normal file
View File

@@ -0,0 +1,14 @@
"""REST serializers for countdown items."""
from rest_framework import serializers
from countdown.models import CountdownItem
class CountdownItemSerializer(serializers.ModelSerializer):
"""Countdown item serializer for the REST API."""
class Meta:
"""Meta options."""
model = CountdownItem
fields = '__all__'

12
countdown/urls.py Normal file
View File

@@ -0,0 +1,12 @@
"""URL patterns for the countdown views."""
from django.conf.urls import include, url
from rest_framework.routers import DefaultRouter
from countdown.views import CountdownItemViewSet
router = DefaultRouter()
router.register(r'items', CountdownItemViewSet)
urlpatterns = [
url(r'^api/', include(router.urls)),
]

16
countdown/views.py Normal file
View File

@@ -0,0 +1,16 @@
"""Provide an interface to countdown items."""
# from rest_framework.decorators import action
# from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticated
from rest_framework.viewsets import ReadOnlyModelViewSet
from countdown.models import CountdownItem
from countdown.serializers import CountdownItemSerializer
class CountdownItemViewSet(ReadOnlyModelViewSet):
"""Provide list and detail actions for countdown items."""
queryset = CountdownItem.objects.all()
serializer_class = CountdownItemSerializer
permission_classes = [IsAuthenticated]