vbv/server/vbv_lernwelt/learnpath/views.py

24 lines
676 B
Python

# Create your views here.
import structlog
from django.views.decorators.cache import cache_page
from rest_framework.decorators import api_view
from rest_framework.response import Response
from wagtail.models import Page
logger = structlog.get_logger(__name__)
@api_view(['GET'])
@cache_page(60 * 60 * 8, cache="learning_path_cache")
def page_api_view(request, slug):
try:
page = Page.objects.get(slug=slug, locale__language_code='de-CH')
serializer = page.specific.get_serializer_class()(page.specific)
return Response(serializer.data)
except Exception as e:
logger.error(e)
return Response({"error": str(e)}, status=404)