From c9ed6f6ca822a9bbac6d60e7e633c547da3c6da1 Mon Sep 17 00:00:00 2001 From: wlsrn3684 <50126441+wlsrn3684@users.noreply.github.com> Date: Mon, 19 Jul 2021 05:03:28 +0900 Subject: [PATCH 1/3] jg-48 Add post list by drf --- setup.cfg | 2 +- v2/src/blog/serializers.py | 9 +++++++++ v2/src/blog/urls.py | 7 +++++++ v2/src/blog/views.py | 14 ++++++++++++++ v2/src/config/urls.py | 6 ++---- 5 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 v2/src/blog/serializers.py create mode 100644 v2/src/blog/urls.py diff --git a/setup.cfg b/setup.cfg index bc8f206..4f33e46 100644 --- a/setup.cfg +++ b/setup.cfg @@ -24,7 +24,7 @@ ignore_errors = True [tool:pytest] -DJANGO_SETTINGS_MODULE=src.config.settings.test +DJANGO_SETTINGS_MODULE = config.settings.base norecursedirs = .git __pycache__ migrations template addopts = -s filterwarnings = diff --git a/v2/src/blog/serializers.py b/v2/src/blog/serializers.py new file mode 100644 index 0000000..41a9978 --- /dev/null +++ b/v2/src/blog/serializers.py @@ -0,0 +1,9 @@ +from rest_framework import serializers + +from .models import Post + + +class PostSerializer(serializers.ModelSerializer): + class Meta: + model = Post + fields = ("author", "title", "text", "created_date", "published_date") diff --git a/v2/src/blog/urls.py b/v2/src/blog/urls.py new file mode 100644 index 0000000..00a92cd --- /dev/null +++ b/v2/src/blog/urls.py @@ -0,0 +1,7 @@ +from django.urls import path + +from . import views + +urlpatterns = [ + path("posts/", views.PostListCreate.as_view(), name="post_list_create"), +] diff --git a/v2/src/blog/views.py b/v2/src/blog/views.py index e69de29..52af84c 100644 --- a/v2/src/blog/views.py +++ b/v2/src/blog/views.py @@ -0,0 +1,14 @@ +from django.utils import timezone +from rest_framework import status +from rest_framework.response import Response +from rest_framework.views import APIView + +from .models import Post +from .serializers import PostSerializer + + +class PostListView(APIView): + def get(self, request): + posts = Post.objects.filter(published_date__lte=timezone.now()).order_by("published_date") + serializer = PostSerializer(posts, many=True) + return Response({"posts": serializer.data}, status=status.HTTP_200_OK) diff --git a/v2/src/config/urls.py b/v2/src/config/urls.py index 4295eb5..82175f3 100644 --- a/v2/src/config/urls.py +++ b/v2/src/config/urls.py @@ -14,8 +14,6 @@ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import path, include -urlpatterns = [ - path("admin/", admin.site.urls), -] +urlpatterns = [path("admin/", admin.site.urls), path("api/", include("blog.urls"))] From d3a20c9d739afa4c30c4b9b9d1846cd4db964e42 Mon Sep 17 00:00:00 2001 From: wlsrn3684 <50126441+wlsrn3684@users.noreply.github.com> Date: Mon, 19 Jul 2021 09:59:22 +0900 Subject: [PATCH 2/3] jg-48 Fix naming error --- v2/src/blog/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v2/src/blog/urls.py b/v2/src/blog/urls.py index 00a92cd..918284f 100644 --- a/v2/src/blog/urls.py +++ b/v2/src/blog/urls.py @@ -3,5 +3,5 @@ from . import views urlpatterns = [ - path("posts/", views.PostListCreate.as_view(), name="post_list_create"), + path("posts/", views.PostListView.as_view(), name="post_list_create"), ] From d76902da90b17221de39620505f071134fe798d5 Mon Sep 17 00:00:00 2001 From: wlsrn3684 <50126441+wlsrn3684@users.noreply.github.com> Date: Mon, 19 Jul 2021 10:12:56 +0900 Subject: [PATCH 3/3] jg-48 Modify to match pathname test code --- v2/src/blog/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v2/src/blog/urls.py b/v2/src/blog/urls.py index 918284f..ad8f7c0 100644 --- a/v2/src/blog/urls.py +++ b/v2/src/blog/urls.py @@ -3,5 +3,5 @@ from . import views urlpatterns = [ - path("posts/", views.PostListView.as_view(), name="post_list_create"), + path("posts/", views.PostListView.as_view(), name="retrieve_post_list"), ]