diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/blogpost/views.py | 6 | ||||
| -rw-r--r-- | examples/objectstore/views.py | 4 | ||||
| -rw-r--r-- | examples/pygments_api/views.py | 6 | ||||
| -rw-r--r-- | examples/requirements.txt | 6 | ||||
| -rw-r--r-- | examples/settings.py | 9 | ||||
| -rw-r--r-- | examples/simpleexample/__init__.py | 0 | ||||
| -rw-r--r-- | examples/simpleexample/models.py | 23 | ||||
| -rw-r--r-- | examples/simpleexample/urls.py | 6 | ||||
| -rw-r--r-- | examples/simpleexample/views.py | 18 | ||||
| -rw-r--r-- | examples/urls.py | 27 | 
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)),  ) | 
