Skip to content
Snippets Groups Projects
views.py 1.1 KiB
Newer Older
Nico Vermaas's avatar
Nico Vermaas committed

from django.shortcuts import render, redirect, reverse
from django.views.generic import ListView
from django.conf import settings
Nico Vermaas's avatar
Nico Vermaas committed

from rest_framework import generics, pagination
from rest_framework.views import APIView

import django_filters
from django_filters import rest_framework as filters

from .models import LofarData
from .serializers import LofarDataSerializer

# --- Filters ---
class LofarDataFilter(filters.FilterSet):
    class Meta:
        model = LofarData

        fields = {
            'sas_id': ['exact', 'icontains'],
        }

# ---------- GUI Views -----------
Nico Vermaas's avatar
Nico Vermaas committed

def index(request):
    atdb_host = settings.ATDB_HOST
    return render(request, "lofardata/index.html", {'atdb_host': atdb_host})
Nico Vermaas's avatar
Nico Vermaas committed


# ---------- REST API views ----------
Nico Vermaas's avatar
Nico Vermaas committed

class LofarDataView(generics.ListCreateAPIView):
    model = LofarData
    serializer_class = LofarDataSerializer

    queryset = LofarData.objects.all().order_by('sas_id')

    # using the Django Filter Backend - https://django-filter.readthedocs.io/en/latest/index.html
    filter_backends = (filters.DjangoFilterBackend,)
    filter_class = LofarDataFilter