diff --git a/apps/core/routers.py b/apps/core/routers.py new file mode 100644 index 0000000000000000000000000000000000000000..7ad5120ad180c7b76d73b64190600a01578234c7 --- /dev/null +++ b/apps/core/routers.py @@ -0,0 +1,17 @@ +from rest_framework import routers + + +class DefaultRouter(routers.DefaultRouter): + """ + Extends `DefaultRouter` class to add a method for extending url + routes from another router. # from + http://stackoverflow.com/questions/31483282/django-rest-framework-combining-routers-from-different-apps + """ + + def extend(self, router): + """ + Extend the routes with url routes of the passed in router. + Args: + router: SimpleRouter instance containing route definitions. + """ + self.registry.extend(router.registry) diff --git a/apps/rp/api/__init__.py b/apps/rp/api/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/apps/rp/api/serializers.py b/apps/rp/api/serializers.py new file mode 100644 index 0000000000000000000000000000000000000000..58ca4cbac7afa9830056093ba0343b5d11204035 --- /dev/null +++ b/apps/rp/api/serializers.py @@ -0,0 +1,9 @@ +from rest_framework import serializers + +from rp.models import Article + + +class ArticleSerializer(serializers.ModelSerializer): + class Meta: + model = Article + fields = "__all__" diff --git a/apps/rp/api/urls.py b/apps/rp/api/urls.py new file mode 100644 index 0000000000000000000000000000000000000000..d6260cc9fa0dd0ad4c7090c283718857cfc16b38 --- /dev/null +++ b/apps/rp/api/urls.py @@ -0,0 +1,5 @@ +from rest_framework import routers +from .views import ArticleViewSet +router = routers.DefaultRouter() + +router.register(r"articles", ArticleViewSet) diff --git a/apps/rp/api/views.py b/apps/rp/api/views.py new file mode 100644 index 0000000000000000000000000000000000000000..e8260de90337ae6ef710037a47c9771c87359793 --- /dev/null +++ b/apps/rp/api/views.py @@ -0,0 +1,9 @@ +from rest_framework import viewsets + +from rp.models import Article +from .serializers import ArticleSerializer + + +class ArticleViewSet(viewsets.ModelViewSet): + queryset = Article.objects.all() + serializer_class = ArticleSerializer diff --git a/project/urls.py b/project/urls.py index a93d04202d5f92260b1d23bd782729592f7ec4b6..b7aaae1e54d36ab8b27cbd0b87cbb9e3c7bbf248 100644 --- a/project/urls.py +++ b/project/urls.py @@ -5,7 +5,15 @@ rp_new URL Configuration from django.conf.urls import url, include from django.contrib import admin +# Django rest framework router +from core.routers import DefaultRouter +from rp.api.urls import router as rp_router + +router = DefaultRouter() +router.extend(rp_router) + urlpatterns = [ url(r"^admin/", admin.site.urls), + url(r"^api/", include(router.urls, namespace="api")), url(r"^rp/", include("rp.urls")) ]