implent first Rest Api
This commit is contained in:
parent
ae7370a899
commit
84267c626c
17
ofu_app/apps/food/serializers.py
Normal file
17
ofu_app/apps/food/serializers.py
Normal 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')
|
||||
@ -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)),
|
||||
]
|
||||
|
||||
@ -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
|
||||
|
||||
Binary file not shown.
@ -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',
|
||||
|
||||
Reference in New Issue
Block a user