karma: add django rest framework

i tried to use this for datatables, but it was taking too long to get a
response, so i'm abandoning this for the moment, but the support's there
for the future
This commit is contained in:
Brian S. Stephan 2016-05-13 22:19:38 -05:00
parent 4809247632
commit 26f0604922
3 changed files with 30 additions and 2 deletions

View File

@ -0,0 +1,12 @@
"""Serializers for the karma objects."""
from rest_framework import serializers
from karma.models import KarmaKey
class KarmaKeySerializer(serializers.ModelSerializer):
class Meta:
model = KarmaKey
fields = ('id', 'key', 'score', 'rank')

View File

@ -1,10 +1,16 @@
"""URL patterns for the karma views."""
from django.conf.urls import patterns, url
from django.conf.urls import patterns, url, include
from rest_framework.routers import DefaultRouter
from karma.views import key_detail, index
from karma.views import key_detail, index, KarmaKeyViewSet
router = DefaultRouter()
router.register(r'keys', KarmaKeyViewSet)
urlpatterns = patterns('races.views',
url(r'^$', index, name='karma_index'),
url(r'^key/(?P<karma_key>.+)/', key_detail, name='karma_key_detail'),
url(r'^api/', include(router.urls)),
)

View File

@ -3,8 +3,10 @@
import logging
from django.shortcuts import get_object_or_404, render
from rest_framework import viewsets
from karma.models import KarmaKey
from karma.serializers import KarmaKeySerializer
log = logging.getLogger('karma.views')
@ -23,3 +25,11 @@ def key_detail(request, karma_key):
entry = get_object_or_404(KarmaKey, key=karma_key.lower())
return render(request, 'karma/karma_key.html', {'entry': entry, 'entry_history': entry.history(mode='date')})
class KarmaKeyViewSet(viewsets.ReadOnlyModelViewSet):
"""Provide list and detail actions for karma keys."""
queryset = KarmaKey.objects.all()
serializer_class = KarmaKeySerializer