aboutsummaryrefslogtreecommitdiffstats
path: root/examples/blogpost/urls.py
diff options
context:
space:
mode:
authorTom Christie2011-06-02 12:58:10 +0100
committerTom Christie2011-06-02 12:58:10 +0100
commitb50492853f537a2473bb0a9eea86c8b0ed6b8824 (patch)
treed289d39aacf187a8a0696a4c1c863aabe1472c3a /examples/blogpost/urls.py
parent7ee9adbe5c03c29cd4a894dd476548f7fe73b5e4 (diff)
parentfc1640de75511006e89f033c9270ec91a9f1e4d4 (diff)
downloaddjango-rest-framework-b50492853f537a2473bb0a9eea86c8b0ed6b8824.tar.bz2
pull in -dev as 0.2.0
Diffstat (limited to 'examples/blogpost/urls.py')
-rw-r--r--examples/blogpost/urls.py37
1 files changed, 32 insertions, 5 deletions
diff --git a/examples/blogpost/urls.py b/examples/blogpost/urls.py
index 1306b0d7..c677b8fa 100644
--- a/examples/blogpost/urls.py
+++ b/examples/blogpost/urls.py
@@ -1,9 +1,36 @@
from django.conf.urls.defaults import patterns, url
-from blogpost.views import BlogPosts, BlogPostInstance, Comments, CommentInstance
+from django.core.urlresolvers import reverse
+
+from djangorestframework.views import ListOrCreateModelView, InstanceModelView
+from djangorestframework.resources import ModelResource
+
+from blogpost.models import BlogPost, Comment
+
+
+class BlogPostResource(ModelResource):
+ """
+ A Blog Post has a *title* and *content*, and can be associated with zero or more comments.
+ """
+ model = BlogPost
+ fields = ('created', 'title', 'slug', 'content', 'url', 'comments')
+ ordering = ('-created',)
+
+ def comments(self, instance):
+ return reverse('comments', kwargs={'blogpost': instance.key})
+
+
+class CommentResource(ModelResource):
+ """
+ A Comment is associated with a given Blog Post and has a *username* and *comment*, and optionally a *rating*.
+ """
+ model = Comment
+ fields = ('username', 'comment', 'created', 'rating', 'url', 'blogpost')
+ ordering = ('-created',)
+
urlpatterns = patterns('',
- url(r'^$', BlogPosts.as_view(), name='blog-posts'),
- url(r'^(?P<key>[^/]+)/$', BlogPostInstance.as_view(), name='blog-post'),
- url(r'^(?P<blogpost>[^/]+)/comments/$', Comments.as_view(), name='comments'),
- url(r'^(?P<blogpost>[^/]+)/comments/(?P<id>[^/]+)/$', CommentInstance.as_view(), name='comment'),
+ url(r'^$', ListOrCreateModelView.as_view(resource=BlogPostResource), name='blog-posts-root'),
+ url(r'^(?P<key>[^/]+)/$', InstanceModelView.as_view(resource=BlogPostResource)),
+ url(r'^(?P<blogpost>[^/]+)/comments/$', ListOrCreateModelView.as_view(resource=CommentResource), name='comments'),
+ url(r'^(?P<blogpost>[^/]+)/comments/(?P<id>[^/]+)/$', InstanceModelView.as_view(resource=CommentResource)),
)