Skip to content

Commit 34195eb

Browse files
author
PRITAM CHAKRABORTY
committed
swagger ui own tag implemented
1 parent da5b1d1 commit 34195eb

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

blogapp/swagger_schema.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from drf_yasg.inspectors import SwaggerAutoSchema
2+
3+
4+
class CustomAutoSchema(SwaggerAutoSchema):
5+
6+
def get_tags(self, operation_keys=None):
7+
tags = self.overrides.get('tags', None) or getattr(
8+
self.view, 'my_tags', [])
9+
if not tags:
10+
tags = [operation_keys[0]]
11+
12+
return tags

blogapp/views.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class BloggerViewSet(ModelViewSet):
4646
permission_classes = [IsAdminUser | (IsAuthenticated & IsSelf)]
4747
queryset = Blogger.objects.all()
4848
serializer_class = BloggerAdminSerializer
49+
my_tags = ["Blogger"]
4950

5051
def get_permissions(self):
5152
method = self.request.method
@@ -71,6 +72,7 @@ class OwnBlogViewSet(ModelViewSet):
7172
ordering_fields = ["title", "created_at"]
7273
serializer_class = BlogReadSerializer
7374
permission_classes = [IsAdminUser | (IsAuthenticated & IsBlogOwner)]
75+
my_tags = ["Blogger-Blog"]
7476
# queryset = Blog.objects.prefetch_related(
7577
# 'comments').select_related('creator').all()
7678

@@ -104,10 +106,12 @@ class AllBlogVSet(ListModelMixin, GenericViewSet):
104106
queryset = Blog.objects.select_related(
105107
'creator').prefetch_related('comments').all()
106108
serializer_class = BlogReadSerializer
109+
my_tags = ["All Blogs"]
107110

108111

109112
class CommentVSet(ModelViewSet):
110113
http_method_names = ["get", "post", "patch", "delete", "option", "head"]
114+
my_tags = ["Blog-Comments"]
111115

112116
def get_permissions(self):
113117
if self.request.method == 'GET':

core/settings/common.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@
6262

6363
ROOT_URLCONF = 'core.urls'
6464

65+
66+
SWAGGER_SETTINGS = {"DEFAULT_AUTO_SCHEMA_CLASS": "blogapp.swagger_schema.CustomAutoSchema"}
67+
6568
TEMPLATES = [
6669
{
6770
'BACKEND': 'django.template.backends.django.DjangoTemplates',

0 commit comments

Comments
 (0)