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."""
|
"""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',
|
urlpatterns = patterns('races.views',
|
||||||
url(r'^$', index, name='karma_index'),
|
url(r'^$', index, name='karma_index'),
|
||||||
url(r'^key/(?P<karma_key>.+)/', key_detail, name='karma_key_detail'),
|
url(r'^key/(?P<karma_key>.+)/', key_detail, name='karma_key_detail'),
|
||||||
|
|
||||||
|
url(r'^api/', include(router.urls)),
|
||||||
)
|
)
|
||||||
|
@ -3,8 +3,10 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from django.shortcuts import get_object_or_404, render
|
from django.shortcuts import get_object_or_404, render
|
||||||
|
from rest_framework import viewsets
|
||||||
|
|
||||||
from karma.models import KarmaKey
|
from karma.models import KarmaKey
|
||||||
|
from karma.serializers import KarmaKeySerializer
|
||||||
|
|
||||||
log = logging.getLogger('karma.views')
|
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())
|
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')})
|
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