Skip to content

Commit

Permalink
Integro Django Rest Framework. Fix for #11
Browse files Browse the repository at this point in the history
  • Loading branch information
tutuca committed Jul 3, 2015
1 parent d321081 commit 2391e1b
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 21 deletions.
7 changes: 7 additions & 0 deletions leaks/serializers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from rest_framework import serializers
from .models import Leak


class LeakSerializer(serializers.ModelSerializer):
class Meta:
model = Leak
16 changes: 12 additions & 4 deletions leaks/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@
from django.contrib.auth.models import User
from django.http import HttpResponse
from django.shortcuts import redirect, get_object_or_404, render
from taggit.models import Tag
from django.contrib.auth.decorators import login_required
from leaks.forms import LeakForm, RegisterForm
from leaks.models import Leak

from taggit.models import Tag
from rest_framework import viewsets
from rest_framework.permissions import IsAuthenticatedOrReadOnly
from .forms import LeakForm, RegisterForm
from .models import Leak
from .serializers import LeakSerializer

def index(request):
try:
Expand Down Expand Up @@ -128,3 +130,9 @@ def register(request,):
'form': form,
}
)

class LeakViewset(viewsets.ModelViewSet):
queryset = Leak.objects.all()
serializer_class = LeakSerializer
permission_classes = (IsAuthenticatedOrReadOnly, )
paginate_by = 100
3 changes: 2 additions & 1 deletion ltmo/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@
'django.contrib.sitemaps',
'django.contrib.messages',
'social.apps.django_app.default',
'rest_framework',
'registration',
'debug_toolbar',
'endless_pagination',
Expand All @@ -119,6 +120,6 @@
SOCIAL_AUTH_CLEAN_USERNAMES = False

try:
from local_settings import *
from .local_settings import *
except ImportError:
pass
32 changes: 22 additions & 10 deletions ltmo/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@

from leaks.feeds import LeakFeed
from leaks.models import Leak
from leaks.views import LeakViewset
from rest_framework import routers

router = routers.DefaultRouter()
router.register('leak', LeakViewset)

info_dict = {
'queryset': Leak.objects.all(),
Expand All @@ -18,17 +23,18 @@
'leaks': GenericSitemap(info_dict, priority=0.6),
}

urlpatterns = patterns('leaks.views',
(r'^$','index',{},'index'),
(r'^new/$','edit',{},'new'),
(r'^edit/(?P<id>\d+)$','edit',{},'edit'),
(r'^l/$','by_tag',{}),
(r'^leak/(?P<tag_name>\D+)$','by_tag',{},'by_tag'),
(r'^leak/(?P<id>\d+)$','leak_detail',{},'leak_detail'),
(r'^tags/','tags',{},'tags'),
urlpatterns = patterns(
'leaks.views',
(r'^$', 'index', {}, 'index'),
(r'^new/$', 'edit', {}, 'new'),
(r'^edit/(?P<id>\d+)$', 'edit', {}, 'edit'),
(r'^l/$', 'by_tag', {}),
(r'^leak/(?P<tag_name>\D+)$', 'by_tag', {}, 'by_tag'),
(r'^leak/(?P<id>\d+)$', 'leak_detail', {}, 'leak_detail'),
(r'^tags/', 'tags', {}, 'tags'),
(r'^~$', 'user_profile', {}, 'author'),
(r'^~(?P<username>\w+)/$','user_profile', {}, 'author_detail'),
(r'^register$','register',{},'register'),
(r'^~(?P<username>[\w@\.]+)/$', 'user_profile', {}, 'author_detail'),
(r'^register$', 'register', {}, 'register'),
)

urlpatterns += patterns('django.contrib.auth.views',
Expand All @@ -48,6 +54,12 @@
{'sitemaps': sitemaps})
)

urlpatterns += patterns('',
url(r'^api/', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls',
namespace='rest_framework'))
)

if settings.DEBUG:
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
Expand Down
12 changes: 6 additions & 6 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
django
Pillow
Markdown
pillow
markdown
pygments
south
python-social-auth
djangorestframework
django-taggit
django-taggit-templatetags
django-endless-pagination
django-registration-redux
python-social-auth
django-debug-toolbar
psycopg2
django-filter
django-guardian

0 comments on commit 2391e1b

Please sign in to comment.