implent first Rest Api

This commit is contained in:
Götz 2017-10-24 01:29:40 +02:00
parent ae7370a899
commit 84267c626c
5 changed files with 40 additions and 2 deletions

View File

@ -0,0 +1,17 @@
from apps.food.models import Menu, SingleFood
from rest_framework import serializers
class SingleFoodSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = SingleFood
fields = ('name',)
class MenuSerializer(serializers.HyperlinkedModelSerializer):
date = serializers.DateField(format='iso-8601')
menu = SingleFoodSerializer(many=True, read_only=True)
class Meta:
model = Menu
fields = ('date', 'location', 'menu')

View File

@ -13,9 +13,12 @@ Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.conf.urls import url, include
from rest_framework import routers
from apps.food import views
router = routers.DefaultRouter()
router.register(r'api', views.FoodViewSet)
urlpatterns = [
url(r'^$', views.food, name='food'),
@ -25,4 +28,5 @@ urlpatterns = [
url(r'^all/$', views.food, name='all-food'),
url(r'^daily/rating/$', views.food_rating, name='rating-food'),
url(r'^weekly/rating/$', views.food_rating, name='rating-food'),
url(r'^', include(router.urls)),
]

View File

@ -7,6 +7,8 @@ from django.shortcuts import render
from apps.food.models import Menu, HappyHour, SingleFood
from django.http import HttpResponse
from rest_framework import viewsets
from apps.food.serializers import MenuSerializer, SingleFoodSerializer
# Create your views here.
@ -104,4 +106,12 @@ def food_image(request):
food.save()
return HttpResponse(status=200)
return HttpResponse(status=404)
return HttpResponse(status=404) #
class FoodViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = Menu.objects.all()
serializer_class = MenuSerializer

View File

@ -38,8 +38,15 @@ INSTALLED_APPS = [
'apps.food',
'apps.events',
'apps.donar',
'rest_framework',
]
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAdminUser',
],
'PAGE_SIZE': 10
}
# MIDDLEWARE = [
# 'django.middleware.security.SecurityMiddleware',
# 'django.contrib.sessions.middleware.SessionMiddleware',