From 1e04790d505a1174f9e3c4481288982f9e7fd6c0 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Mon, 16 May 2011 14:11:36 +0100 Subject: Fixing some of the last blocking issues --- examples/blogpost/urls.py | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'examples/blogpost/urls.py') diff --git a/examples/blogpost/urls.py b/examples/blogpost/urls.py index 1306b0d7..130363b1 100644 --- a/examples/blogpost/urls.py +++ b/examples/blogpost/urls.py @@ -1,9 +1,28 @@ 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): + 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): + model = Comment + fields = ('username', 'comment', 'created', 'rating', 'url', 'blogpost') + ordering = ('-created',) + urlpatterns = patterns('', - url(r'^$', BlogPosts.as_view(), name='blog-posts'), - url(r'^(?P[^/]+)/$', BlogPostInstance.as_view(), name='blog-post'), - url(r'^(?P[^/]+)/comments/$', Comments.as_view(), name='comments'), - url(r'^(?P[^/]+)/comments/(?P[^/]+)/$', CommentInstance.as_view(), name='comment'), -) + url(r'^$', ListOrCreateModelView.as_view(resource=BlogPostResource), name='blog-posts-root'), + url(r'^(?P[^/]+)/$', InstanceModelView.as_view(resource=BlogPostResource)), + url(r'^(?P[^/]+)/comments/$', ListOrCreateModelView.as_view(resource=CommentResource), name='comments'), + url(r'^(?P[^/]+)/comments/(?P[^/]+)/$', InstanceModelView.as_view(resource=CommentResource)), +) \ No newline at end of file -- cgit v1.2.3 From c53175914752502629141556f3e001e9d2e9f7fa Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Mon, 23 May 2011 17:07:31 +0100 Subject: name and description --- examples/blogpost/urls.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'examples/blogpost/urls.py') diff --git a/examples/blogpost/urls.py b/examples/blogpost/urls.py index 130363b1..c677b8fa 100644 --- a/examples/blogpost/urls.py +++ b/examples/blogpost/urls.py @@ -6,7 +6,11 @@ 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',) @@ -14,7 +18,11 @@ class BlogPostResource(ModelResource): 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',) @@ -25,4 +33,4 @@ urlpatterns = patterns('', url(r'^(?P[^/]+)/$', InstanceModelView.as_view(resource=BlogPostResource)), url(r'^(?P[^/]+)/comments/$', ListOrCreateModelView.as_view(resource=CommentResource), name='comments'), url(r'^(?P[^/]+)/comments/(?P[^/]+)/$', InstanceModelView.as_view(resource=CommentResource)), -) \ No newline at end of file +) -- cgit v1.2.3