From 3b7980ffe971911c54849ae8676fdffc1d360367 Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Wed, 25 Nov 2015 20:29:25 +0100 Subject: [PATCH] Start using rest framework --- bbssite/settings.py | 1 + main/api/__init__.py | 0 main/api/serializers.py | 7 +++++++ main/api/views.py | 9 +++++++++ main/urls.py | 8 +++++++- 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 main/api/__init__.py create mode 100644 main/api/serializers.py create mode 100644 main/api/views.py diff --git a/bbssite/settings.py b/bbssite/settings.py index 7cd1dff..f42d29d 100755 --- a/bbssite/settings.py +++ b/bbssite/settings.py @@ -87,6 +87,7 @@ INSTALLED_APPS = ( 'bootstrapform', 'compressor', 'django_extensions', + 'rest_framework', ) LOCAL_APPS = ( 'main', diff --git a/main/api/__init__.py b/main/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/main/api/serializers.py b/main/api/serializers.py new file mode 100644 index 0000000..18187d9 --- /dev/null +++ b/main/api/serializers.py @@ -0,0 +1,7 @@ +from main.models import Product +from rest_framework.serializers import ModelSerializer + + +class ProductSerializer(ModelSerializer): + class Meta: + model = Product diff --git a/main/api/views.py b/main/api/views.py new file mode 100644 index 0000000..3e30cc8 --- /dev/null +++ b/main/api/views.py @@ -0,0 +1,9 @@ +from main.api.serializers import ProductSerializer +from main.models import Product +from rest_framework.viewsets import ModelViewSet + + +class ProductViewSet(ModelViewSet): + # TODO: auth + serializer_class = ProductSerializer + queryset = Product.objects.all() diff --git a/main/urls.py b/main/urls.py index 0366b69..ec23418 100644 --- a/main/urls.py +++ b/main/urls.py @@ -1,10 +1,11 @@ from django.conf.urls import url - +from main.api.views import ProductViewSet from main.views.stats import stats_list, stats_orders, stats_orders_hourly, stats_products_realtime, stats_products, \ stats_products_per_user, products_json from main.views.general import register, deposit, log from main.views.reports import inventory, inventory_add, report from main.views.users import create_user, profile +from rest_framework.routers import DefaultRouter urlpatterns = [ url(r'^$', register, name='home'), @@ -31,3 +32,8 @@ urlpatterns = [ url(r'^inventory/add/$', inventory_add, name='inventory-add'), url(r'^report$', report, name='report'), ] + +# API +router = DefaultRouter() +router.register(r'api/products', ProductViewSet) +urlpatterns += router.urls