Changed to text/html response

This commit is contained in:
dormantman 2020-01-23 17:38:55 +03:00
parent 18978355bc
commit 0c40ed06e1

View File

@ -1,11 +1,13 @@
"""Main app views."""
from django.http import Http404
from rest_framework import generics, permissions
from rest_framework.renderers import StaticHTMLRenderer
from rest_framework.response import Response
from main import methods, models, serializers
from news.models import News, NewsType
from news.serializers import NewsDetailSerializer, NewsListSerializer
from news.views import NewsMixinView
from utils.serializers import EmptySerializer
@ -107,7 +109,7 @@ class ContentPageView(generics.ListAPIView):
queryset = News.objects.all()
def get_queryset(self):
static_page_category = NewsType.objects.get(name='static-page')
static_page_category = NewsType.objects.get(name='static')
return super().get_queryset().filter(news_type=static_page_category)
@ -119,21 +121,26 @@ class ContentPageAdminView(generics.ListCreateAPIView):
queryset = News.objects.all()
def get_queryset(self):
static_page_category = NewsType.objects.get(name='static-page')
static_page_category = NewsType.objects.get(name='static')
return super().get_queryset().filter(news_type=static_page_category)
class ContentPageRetrieveView(generics.RetrieveAPIView):
class ContentPageRetrieveView(NewsMixinView, generics.RetrieveAPIView):
"""Retrieve method to get content pages"""
lookup_field = 'slug'
lookup_field = None
permission_classes = (permissions.AllowAny,)
serializer_class = NewsDetailSerializer
queryset = News.objects.all()
renderer_classes = [StaticHTMLRenderer]
def get_queryset(self):
static_page_category = NewsType.objects.get(name='static-page')
return super().get_queryset().filter(news_type=static_page_category)
static_page_category = NewsType.objects.get(name='static')
return self.queryset.filter(news_type__id=static_page_category.id)
def get(self, request, *args, **kwargs):
instance = self.get_object()
return Response(instance.description.get(request.locale))
class ContentPageIdRetrieveView(generics.RetrieveAPIView):
@ -142,20 +149,25 @@ class ContentPageIdRetrieveView(generics.RetrieveAPIView):
permission_classes = (permissions.AllowAny,)
serializer_class = NewsDetailSerializer
queryset = News.objects.all()
renderer_classes = [StaticHTMLRenderer]
def get_queryset(self):
static_page_category = NewsType.objects.get(name='static-page')
return super().get_queryset().filter(news_type=static_page_category)
static_page_category = NewsType.objects.get(name='static')
return self.queryset.filter(news_type__id=static_page_category.id)
def get(self, request, *args, **kwargs):
instance = self.get_object()
return Response(instance.description.get(request.locale))
class ContentPageRetrieveAdminView(generics.RetrieveUpdateDestroyAPIView):
class ContentPageRetrieveAdminView(NewsMixinView, generics.RetrieveUpdateDestroyAPIView):
"""Retrieve method to get content pages"""
lookup_field = 'slug'
lookup_field = None
permission_classes = (permissions.IsAdminUser,)
serializer_class = NewsDetailSerializer
queryset = News.objects.all()
def get_queryset(self):
static_page_category = NewsType.objects.get(name='static-page')
static_page_category = NewsType.objects.get(name='static')
return super().get_queryset().filter(news_type=static_page_category)