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:
parent
4809247632
commit
26f0604922
12
dr_botzo/karma/serializers.py
Normal file
12
dr_botzo/karma/serializers.py
Normal 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')
|
@ -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)),
|
||||
)
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user