mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-01-24 00:04:16 +03:00
Added resourceexample, moved simpleexample to modelresourceexample
This commit is contained in:
parent
196c21f376
commit
6ce5b643fb
15
docs/templates/layout.html
vendored
15
docs/templates/layout.html
vendored
|
@ -8,4 +8,19 @@
|
|||
|
||||
{% block htmltitle %}<title>{% if pagename == 'index' %}Django REST framework{% else %}{{ titleprefix }}{{ title|striptags|e }}{% endif %}</title>{% endblock %}
|
||||
|
||||
{% block extrahead %}
|
||||
{{ super() }}
|
||||
<script type="text/javascript">
|
||||
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-18852272-2']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
|
|
@ -19,5 +19,5 @@ class MyModel(models.Model):
|
|||
|
||||
@models.permalink
|
||||
def get_absolute_url(self):
|
||||
return ('simpleexample.views.MyModelResource', (self.pk,))
|
||||
return ('modelresourceexample.views.MyModelResource', (self.pk,))
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
from django.conf.urls.defaults import patterns, url
|
||||
|
||||
urlpatterns = patterns('simpleexample.views',
|
||||
urlpatterns = patterns('modelresourceexample.views',
|
||||
url(r'^$', 'MyModelRootResource'),
|
||||
url(r'^([0-9]+)/$', 'MyModelResource'),
|
||||
)
|
|
@ -1,5 +1,5 @@
|
|||
from djangorestframework.modelresource import ModelResource, RootModelResource
|
||||
from simpleexample.models import MyModel
|
||||
from modelresourceexample.models import MyModel
|
||||
|
||||
FIELDS = ('foo', 'bar', 'baz', 'absolute_url')
|
||||
|
0
examples/resourceexample/__init__.py
Normal file
0
examples/resourceexample/__init__.py
Normal file
6
examples/resourceexample/urls.py
Normal file
6
examples/resourceexample/urls.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
from django.conf.urls.defaults import patterns, url
|
||||
|
||||
urlpatterns = patterns('resourceexample.views',
|
||||
url(r'^$', 'ExampleResource'),
|
||||
url(r'^(?P<num>[0-9]+)/$', 'AnotherExampleResource'),
|
||||
)
|
35
examples/resourceexample/views.py
Normal file
35
examples/resourceexample/views.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
from django import forms
|
||||
from djangorestframework.resource import Resource
|
||||
from djangorestframework.response import Response, status
|
||||
|
||||
|
||||
class MyForm(forms.Form):
|
||||
foo = forms.BooleanField()
|
||||
bar = forms.IntegerField(help_text='Must be an integer.')
|
||||
baz = forms.CharField(max_length=32, help_text='Free text. Max length 32 chars.')
|
||||
|
||||
|
||||
class ExampleResource(Resource):
|
||||
"""A basic read only resource that points to 3 other resources."""
|
||||
allowed_methods = anon_allowed_methods = ('GET',)
|
||||
|
||||
def get(self, request, auth):
|
||||
return {"Some other resources": [self.reverse(AnotherExampleResource, num=num) for num in range(3)]}
|
||||
|
||||
|
||||
class AnotherExampleResource(Resource):
|
||||
"""A basic GET-able/POST-able resource."""
|
||||
allowed_methods = anon_allowed_methods = ('GET', 'POST')
|
||||
form = MyForm # Optional form validation on input
|
||||
|
||||
def get(self, request, auth, num):
|
||||
"""Handle GET requests"""
|
||||
if int(num) > 2:
|
||||
return Response(status.HTTP_404_NOT_FOUND)
|
||||
return "GET request to AnotherExampleResource %s" % num
|
||||
|
||||
def post(self, request, auth, content, num):
|
||||
"""Handle POST requests"""
|
||||
if int(num) > 2:
|
||||
return Response(status.HTTP_404_NOT_FOUND)
|
||||
return "POST request to AnotherExampleResource %s, with content: %s" % (num, repr(content))
|
|
@ -95,7 +95,9 @@ INSTALLED_APPS = (
|
|||
'django.contrib.messages',
|
||||
#'django.contrib.admin',
|
||||
'djangorestframework',
|
||||
'simpleexample',
|
||||
|
||||
'resourceexample',
|
||||
'modelresourceexample',
|
||||
'objectstore',
|
||||
'pygments_api',
|
||||
'blogpost',
|
||||
|
|
|
@ -5,18 +5,28 @@ from djangorestframework.resource import Resource
|
|||
#admin.autodiscover()
|
||||
|
||||
class RootResource(Resource):
|
||||
"""This is the sandbox for the examples provided with django-rest-framework.
|
||||
|
||||
These examples are here to help you get a better idea of the some of the
|
||||
features of django-rest-framework API, such as automatic form and model validation,
|
||||
support for multiple input and output media types, etc...
|
||||
|
||||
Please feel free to browse, create, edit and delete the resources here, either
|
||||
in the browser, from the command line, or programmatically."""
|
||||
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'),}
|
||||
return {'Simple Resource example': self.reverse('resourceexample.views.ExampleResource'),
|
||||
'Simple ModelResource example': self.reverse('modelresourceexample.views.MyModelRootResource'),
|
||||
'Object store API (Resource)': self.reverse('objectstore.views.ObjectStoreRoot'),
|
||||
'A pygments pastebin API (Resource + forms)': self.reverse('pygments_api.views.PygmentsRoot'),
|
||||
'Blog posts API (ModelResource)': self.reverse('blogpost.views.BlogPostRoot'),}
|
||||
|
||||
|
||||
urlpatterns = patterns('',
|
||||
(r'^$', RootResource),
|
||||
(r'^simple-example/', include('simpleexample.urls')),
|
||||
(r'^model-resource-example/', include('modelresourceexample.urls')),
|
||||
(r'^resource-example/', include('resourceexample.urls')),
|
||||
(r'^object-store/', include('objectstore.urls')),
|
||||
(r'^pygments/', include('pygments_api.urls')),
|
||||
(r'^blog-post/', include('blogpost.urls')),
|
||||
|
|
Loading…
Reference in New Issue
Block a user