aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/blogpost/views.py6
-rw-r--r--examples/objectstore/views.py4
-rw-r--r--examples/pygments_api/views.py6
-rw-r--r--examples/requirements.txt6
-rw-r--r--examples/settings.py9
-rw-r--r--examples/simpleexample/__init__.py0
-rw-r--r--examples/simpleexample/models.py23
-rw-r--r--examples/simpleexample/urls.py6
-rw-r--r--examples/simpleexample/views.py18
-rw-r--r--examples/urls.py27
10 files changed, 86 insertions, 19 deletions
diff --git a/examples/blogpost/views.py b/examples/blogpost/views.py
index c5be2544..bfb53b5d 100644
--- a/examples/blogpost/views.py
+++ b/examples/blogpost/views.py
@@ -1,6 +1,6 @@
-from flywheel.response import Response, status
-from flywheel.resource import Resource
-from flywheel.modelresource import ModelResource, RootModelResource
+from djangorestframework.response import Response, status
+from djangorestframework.resource import Resource
+from djangorestframework.modelresource import ModelResource, RootModelResource
from blogpost.models import BlogPost, Comment
BLOG_POST_FIELDS = ('created', 'title', 'slug', 'content', 'absolute_url', 'comment_url', 'comments_url')
diff --git a/examples/objectstore/views.py b/examples/objectstore/views.py
index 4681fe70..90bdb9e3 100644
--- a/examples/objectstore/views.py
+++ b/examples/objectstore/views.py
@@ -1,7 +1,7 @@
from django.conf import settings
-from flywheel.resource import Resource
-from flywheel.response import Response, status
+from djangorestframework.resource import Resource
+from djangorestframework.response import Response, status
import pickle
import os
diff --git a/examples/pygments_api/views.py b/examples/pygments_api/views.py
index d9082ada..e22705d9 100644
--- a/examples/pygments_api/views.py
+++ b/examples/pygments_api/views.py
@@ -1,8 +1,8 @@
from django.conf import settings
-from flywheel.resource import Resource
-from flywheel.response import Response, status
-from flywheel.emitters import BaseEmitter
+from djangorestframework.resource import Resource
+from djangorestframework.response import Response, status
+from djangorestframework.emitters import BaseEmitter
from pygments.formatters import HtmlFormatter
from pygments.lexers import get_lexer_by_name
diff --git a/examples/requirements.txt b/examples/requirements.txt
new file mode 100644
index 00000000..4ae9e3c7
--- /dev/null
+++ b/examples/requirements.txt
@@ -0,0 +1,6 @@
+# For the examples we need Django, pygments and httplib2...
+
+Django==1.2.4
+wsgiref==0.1.2
+Pygments==1.4
+httplib2==0.6.0
diff --git a/examples/settings.py b/examples/settings.py
index 0ae3bf56..4aa5dd00 100644
--- a/examples/settings.py
+++ b/examples/settings.py
@@ -93,9 +93,10 @@ INSTALLED_APPS = (
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
- 'django.contrib.admin',
- 'flywheel',
- 'blogpost',
+ #'django.contrib.admin',
+ 'djangorestframework',
+ 'simpleexample',
'objectstore',
- 'pygments_api'
+ 'pygments_api',
+ 'blogpost',
)
diff --git a/examples/simpleexample/__init__.py b/examples/simpleexample/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/examples/simpleexample/__init__.py
diff --git a/examples/simpleexample/models.py b/examples/simpleexample/models.py
new file mode 100644
index 00000000..13867f61
--- /dev/null
+++ b/examples/simpleexample/models.py
@@ -0,0 +1,23 @@
+from django.db import models
+
+MAX_INSTANCES = 20
+
+class MyModel(models.Model):
+ foo = models.BooleanField()
+ bar = models.IntegerField(help_text='Must be an integer.')
+ baz = models.CharField(max_length=32, help_text='Free text. Max length 32 chars.')
+ created = models.DateTimeField(auto_now_add=True)
+
+ class Meta:
+ ordering = ('created',)
+
+ def save(self, *args, **kwargs):
+ """For the purposes of the sandbox, limit the maximum number of stored models."""
+ while MyModel.objects.all().count() > MAX_INSTANCES:
+ MyModel.objects.all()[0].delete()
+ super(MyModel, self).save(*args, **kwargs)
+
+ @models.permalink
+ def get_absolute_url(self):
+ return ('simpleexample.views.MyModelResource', (self.pk,))
+
diff --git a/examples/simpleexample/urls.py b/examples/simpleexample/urls.py
new file mode 100644
index 00000000..d853ba5a
--- /dev/null
+++ b/examples/simpleexample/urls.py
@@ -0,0 +1,6 @@
+from django.conf.urls.defaults import patterns, url
+
+urlpatterns = patterns('simpleexample.views',
+ url(r'^$', 'MyModelRootResource'),
+ url(r'^([0-9]+)/$', 'MyModelResource'),
+)
diff --git a/examples/simpleexample/views.py b/examples/simpleexample/views.py
new file mode 100644
index 00000000..1f113ac2
--- /dev/null
+++ b/examples/simpleexample/views.py
@@ -0,0 +1,18 @@
+from djangorestframework.modelresource import ModelResource, RootModelResource
+from simpleexample.models import MyModel
+
+FIELDS = ('foo', 'bar', 'baz', 'absolute_url')
+
+class MyModelRootResource(RootModelResource):
+ """A create/list resource for MyModel.
+ Available for both authenticated and anonymous access for the purposes of the sandbox."""
+ model = MyModel
+ allowed_methods = anon_allowed_methods = ('GET', 'POST')
+ fields = FIELDS
+
+class MyModelResource(ModelResource):
+ """A read/update/delete resource for MyModel.
+ Available for both authenticated and anonymous access for the purposes of the sandbox."""
+ model = MyModel
+ allowed_methods = anon_allowed_methods = ('GET', 'PUT', 'DELETE')
+ fields = FIELDS
diff --git a/examples/urls.py b/examples/urls.py
index b1dec13d..2b8e6fcd 100644
--- a/examples/urls.py
+++ b/examples/urls.py
@@ -1,14 +1,27 @@
from django.conf.urls.defaults import patterns, include
-from django.contrib import admin
+#from django.contrib import admin
+from djangorestframework.resource import Resource
+
+#admin.autodiscover()
+
+class RootResource(Resource):
+ allowed_methods = anon_allowed_methods = ('GET',)
+
+ def get(self, request, auth):
+ return {'simple example': self.reverse('simpleexample.views.MyModelRootResource'),
+ 'pygments example': self.reverse('pygments_api.views.PygmentsRoot'),
+ 'object store example': self.reverse('objectstore.views.ObjectStoreRoot'),
+ 'blog post example': self.reverse('blogpost.views.BlogPostRoot'),}
-admin.autodiscover()
urlpatterns = patterns('',
- (r'^pygments-example/', include('pygments_api.urls')),
- (r'^blog-post-example/', include('blogpost.urls')),
- (r'^object-store-example/', include('objectstore.urls')),
+ (r'^$', RootResource),
+ (r'^simple-example/', include('simpleexample.urls')),
+ (r'^object-store/', include('objectstore.urls')),
+ (r'^pygments/', include('pygments_api.urls')),
+ (r'^blog-post/', include('blogpost.urls')),
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
(r'^accounts/logout/$', 'django.contrib.auth.views.logout'),
- (r'^admin/doc/', include('django.contrib.admindocs.urls')),
- (r'^admin/', include(admin.site.urls)),
+ #(r'^admin/doc/', include('django.contrib.admindocs.urls')),
+ #(r'^admin/', include(admin.site.urls)),
)