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
|
1. Import the include() function: from django.conf.urls import url, include
|
||||||
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
|
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
|
from apps.food import views
|
||||||
|
router = routers.DefaultRouter()
|
||||||
|
router.register(r'api', views.FoodViewSet)
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r'^$', views.food, name='food'),
|
url(r'^$', views.food, name='food'),
|
||||||
@ -25,4 +28,5 @@ urlpatterns = [
|
|||||||
url(r'^all/$', views.food, name='all-food'),
|
url(r'^all/$', views.food, name='all-food'),
|
||||||
url(r'^daily/rating/$', views.food_rating, name='rating-food'),
|
url(r'^daily/rating/$', views.food_rating, name='rating-food'),
|
||||||
url(r'^weekly/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 apps.food.models import Menu, HappyHour, SingleFood
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
|
from rest_framework import viewsets
|
||||||
|
from apps.food.serializers import MenuSerializer, SingleFoodSerializer
|
||||||
|
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
@ -104,4 +106,12 @@ def food_image(request):
|
|||||||
food.save()
|
food.save()
|
||||||
return HttpResponse(status=200)
|
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.food',
|
||||||
'apps.events',
|
'apps.events',
|
||||||
'apps.donar',
|
'apps.donar',
|
||||||
|
'rest_framework',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
REST_FRAMEWORK = {
|
||||||
|
'DEFAULT_PERMISSION_CLASSES': [
|
||||||
|
'rest_framework.permissions.IsAdminUser',
|
||||||
|
],
|
||||||
|
'PAGE_SIZE': 10
|
||||||
|
}
|
||||||
# MIDDLEWARE = [
|
# MIDDLEWARE = [
|
||||||
# 'django.middleware.security.SecurityMiddleware',
|
# 'django.middleware.security.SecurityMiddleware',
|
||||||
# 'django.contrib.sessions.middleware.SessionMiddleware',
|
# 'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
|
|||||||
Reference in New Issue
Block a user