mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-23 18:13:57 +03:00
Updated sandbox links
This commit is contained in:
parent
7d70948f9b
commit
00d3aa21ba
|
@ -370,7 +370,7 @@ class DocumentingTemplateRenderer(BaseRenderer):
|
|||
class DocumentingHTMLRenderer(DocumentingTemplateRenderer):
|
||||
"""
|
||||
Renderer which provides a browsable HTML interface for an API.
|
||||
See the examples at http://api.django-rest-framework.org to see this in action.
|
||||
See the examples at http://shielded-mountain-6732.herokuapp.com to see this in action.
|
||||
"""
|
||||
|
||||
media_type = 'text/html'
|
||||
|
|
|
@ -9,7 +9,7 @@ There are a few real world web API examples included with Django REST framework.
|
|||
|
||||
All the examples are freely available for testing in the sandbox:
|
||||
|
||||
http://rest.ep.io
|
||||
http://shielded-mountain-6732.herokuapp.com
|
||||
|
||||
(The :doc:`examples/sandbox` resource is also documented.)
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Blog Posts API
|
||||
==============
|
||||
|
||||
* http://rest.ep.io/blog-post/
|
||||
* http://shielded-mountain-6732.herokuapp.com/blog-post/
|
||||
|
||||
The models
|
||||
----------
|
||||
|
|
|
@ -5,11 +5,11 @@ Getting Started - Model Views
|
|||
|
||||
A live sandbox instance of this API is available:
|
||||
|
||||
http://rest.ep.io/model-resource-example/
|
||||
http://shielded-mountain-6732.herokuapp.com/model-resource-example/
|
||||
|
||||
You can browse the API using a web browser, or from the command line::
|
||||
|
||||
curl -X GET http://rest.ep.io/resource-example/ -H 'Accept: text/plain'
|
||||
curl -X GET http://shielded-mountain-6732.herokuapp.com/resource-example/ -H 'Accept: text/plain'
|
||||
|
||||
Often you'll want parts of your API to directly map to existing django models. Django REST framework handles this nicely for you in a couple of ways:
|
||||
|
||||
|
@ -41,16 +41,16 @@ And we're done. We've now got a fully browseable API, which supports multiple i
|
|||
|
||||
We can visit the API in our browser:
|
||||
|
||||
* http://rest.ep.io/model-resource-example/
|
||||
* http://shielded-mountain-6732.herokuapp.com/model-resource-example/
|
||||
|
||||
Or access it from the command line using curl:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Demonstrates API's input validation using form input
|
||||
bash: curl -X POST --data 'foo=true' http://rest.ep.io/model-resource-example/
|
||||
bash: curl -X POST --data 'foo=true' http://shielded-mountain-6732.herokuapp.com/model-resource-example/
|
||||
{"detail": {"bar": ["This field is required."], "baz": ["This field is required."]}}
|
||||
|
||||
# Demonstrates API's input validation using JSON input
|
||||
bash: curl -X POST -H 'Content-Type: application/json' --data-binary '{"foo":true}' http://rest.ep.io/model-resource-example/
|
||||
bash: curl -X POST -H 'Content-Type: application/json' --data-binary '{"foo":true}' http://shielded-mountain-6732.herokuapp.com/model-resource-example/
|
||||
{"detail": {"bar": ["This field is required."], "baz": ["This field is required."]}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Object Store API
|
||||
================
|
||||
|
||||
* http://rest.ep.io/object-store/
|
||||
* http://shielded-mountain-6732.herokuapp.com/object-store/
|
||||
|
||||
This example shows an object store API that can be used to store arbitrary serializable content.
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ the example View below.:
|
|||
The `IsAuthenticated` permission will only let a user do a 'GET' if he is authenticated. Try it
|
||||
yourself on the live sandbox__
|
||||
|
||||
__ http://rest.ep.io/permissions-example/loggedin
|
||||
__ http://shielded-mountain-6732.herokuapp.com/permissions-example/loggedin
|
||||
|
||||
|
||||
Throttling
|
||||
|
@ -53,7 +53,7 @@ may do on our view to 10 requests per minute.:
|
|||
|
||||
Try it yourself on the live sandbox__.
|
||||
|
||||
__ http://rest.ep.io/permissions-example/throttling
|
||||
__ http://shielded-mountain-6732.herokuapp.com/permissions-example/throttling
|
||||
|
||||
Now if you want a view to require both aurhentication and throttling, you simply declare them
|
||||
both::
|
||||
|
|
|
@ -6,11 +6,11 @@ We're going to provide a simple wrapper around the awesome `pygments <http://pyg
|
|||
|
||||
.. note::
|
||||
|
||||
A live sandbox instance of this API is available at http://rest.ep.io/pygments/
|
||||
A live sandbox instance of this API is available at http://shielded-mountain-6732.herokuapp.com/pygments/
|
||||
|
||||
You can browse the API using a web browser, or from the command line::
|
||||
|
||||
curl -X GET http://rest.ep.io/pygments/ -H 'Accept: text/plain'
|
||||
curl -X GET http://shielded-mountain-6732.herokuapp.com/pygments/ -H 'Accept: text/plain'
|
||||
|
||||
|
||||
URL configuration
|
||||
|
@ -77,13 +77,13 @@ For example if we make a POST request using form input:
|
|||
|
||||
.. code-block:: bash
|
||||
|
||||
bash: curl -X POST --data 'code=print "hello, world!"' --data 'style=foobar' -H 'X-Requested-With: XMLHttpRequest' http://rest.ep.io/pygments/
|
||||
bash: curl -X POST --data 'code=print "hello, world!"' --data 'style=foobar' -H 'X-Requested-With: XMLHttpRequest' http://shielded-mountain-6732.herokuapp.com/pygments/
|
||||
{"detail": {"style": ["Select a valid choice. foobar is not one of the available choices."], "lexer": ["This field is required."]}}
|
||||
|
||||
Or if we make the same request using JSON:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
bash: curl -X POST --data-binary '{"code":"print \"hello, world!\"", "style":"foobar"}' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' http://rest.ep.io/pygments/
|
||||
bash: curl -X POST --data-binary '{"code":"print \"hello, world!\"", "style":"foobar"}' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' http://shielded-mountain-6732.herokuapp.com/pygments/
|
||||
{"detail": {"style": ["Select a valid choice. foobar is not one of the available choices."], "lexer": ["This field is required."]}}
|
||||
|
||||
|
|
|
@ -5,11 +5,11 @@ Getting Started - Views
|
|||
|
||||
A live sandbox instance of this API is available:
|
||||
|
||||
http://rest.ep.io/resource-example/
|
||||
http://shielded-mountain-6732.herokuapp.com/resource-example/
|
||||
|
||||
You can browse the API using a web browser, or from the command line::
|
||||
|
||||
curl -X GET http://rest.ep.io/resource-example/ -H 'Accept: text/plain'
|
||||
curl -X GET http://shielded-mountain-6732.herokuapp.com/resource-example/ -H 'Accept: text/plain'
|
||||
|
||||
We're going to start off with a simple example, that demonstrates a few things:
|
||||
|
||||
|
@ -41,16 +41,16 @@ Now we'll write our views. The first is a read only view that links to three in
|
|||
|
||||
That's us done. Our API now provides both programmatic access using JSON and XML, as well a nice browseable HTML view, so we can now access it both from the browser:
|
||||
|
||||
* http://rest.ep.io/resource-example/
|
||||
* http://shielded-mountain-6732.herokuapp.com/resource-example/
|
||||
|
||||
And from the command line:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Demonstrates API's input validation using form input
|
||||
bash: curl -X POST --data 'foo=true' http://rest.ep.io/resource-example/1/
|
||||
bash: curl -X POST --data 'foo=true' http://shielded-mountain-6732.herokuapp.com/resource-example/1/
|
||||
{"detail": {"bar": ["This field is required."], "baz": ["This field is required."]}}
|
||||
|
||||
# Demonstrates API's input validation using JSON input
|
||||
bash: curl -X POST -H 'Content-Type: application/json' --data-binary '{"foo":true}' http://rest.ep.io/resource-example/1/
|
||||
bash: curl -X POST -H 'Content-Type: application/json' --data-binary '{"foo":true}' http://shielded-mountain-6732.herokuapp.com/resource-example/1/
|
||||
{"detail": {"bar": ["This field is required."], "baz": ["This field is required."]}}
|
||||
|
|
|
@ -8,11 +8,11 @@ a browseable Web API, and much of the other goodness that Django REST framework
|
|||
|
||||
A live sandbox instance of this API is available for testing:
|
||||
|
||||
* http://rest.ep.io/mixin/
|
||||
* http://shielded-mountain-6732.herokuapp.com/mixin/
|
||||
|
||||
You can browse the API using a web browser, or from the command line::
|
||||
|
||||
curl -X GET http://rest.ep.io/mixin/
|
||||
curl -X GET http://shielded-mountain-6732.herokuapp.com/mixin/
|
||||
|
||||
|
||||
URL configuration
|
||||
|
|
|
@ -11,11 +11,11 @@ Here's an example which does a 'GET' on the `model-resource` example
|
|||
in the sandbox.::
|
||||
|
||||
>>> import urllib2
|
||||
>>> r = urllib2.urlopen('htpp://rest.ep.io/model-resource-example')
|
||||
>>> r = urllib2.urlopen('htpp://shielded-mountain-6732.herokuapp.com/model-resource-example')
|
||||
>>> r.getcode() # Check if the response was ok
|
||||
200
|
||||
>>> print r.read() # Examin the response itself
|
||||
[{"url": "http://rest.ep.io/model-resource-example/1/", "baz": "sdf", "foo": true, "bar": 123}]
|
||||
[{"url": "http://shielded-mountain-6732.herokuapp.com/model-resource-example/1/", "baz": "sdf", "foo": true, "bar": 123}]
|
||||
|
||||
Using the 'POST' method
|
||||
-----------------------
|
||||
|
@ -29,11 +29,11 @@ to send the current time as as a string value for our POST.::
|
|||
|
||||
Now use the `Request` class and specify the 'Content-type'::
|
||||
|
||||
>>> req = urllib2.Request('http://rest.ep.io/model-resource-example/', data=d, headers={'Content-Type':'application/x-www-form-urlencoded'})
|
||||
>>> req = urllib2.Request('http://shielded-mountain-6732.herokuapp.com/model-resource-example/', data=d, headers={'Content-Type':'application/x-www-form-urlencoded'})
|
||||
>>> resp = urllib2.urlopen(req)
|
||||
>>> resp.getcode()
|
||||
201
|
||||
>>> resp.read()
|
||||
'{"url": "http://rest.ep.io/model-resource-example/4/", "baz": "Fri Dec 30 18:22:52 2011", "foo": false, "bar": 123}'
|
||||
'{"url": "http://shielded-mountain-6732.herokuapp.com/model-resource-example/4/", "baz": "Fri Dec 30 18:22:52 2011", "foo": false, "bar": 123}'
|
||||
|
||||
That should get you started to write a client for your own api.
|
||||
|
|
|
@ -16,7 +16,7 @@ Django REST framework is a lightweight REST framework for Django, that aims to m
|
|||
Features:
|
||||
---------
|
||||
|
||||
* Automatically provides an awesome Django admin style `browse-able self-documenting API <http://rest.ep.io>`_.
|
||||
* Automatically provides an awesome Django admin style `browse-able self-documenting API <http://shielded-mountain-6732.herokuapp.com>`_.
|
||||
* Clean, simple, views for Resources, using Django's new `class based views <http://docs.djangoproject.com/en/dev/topics/class-based-views/>`_.
|
||||
* Support for ModelResources with out-of-the-box default implementations and input validation.
|
||||
* Pluggable :mod:`.parsers`, :mod:`renderers`, :mod:`authentication` and :mod:`permissions` - Easy to customise.
|
||||
|
|
|
@ -11,8 +11,8 @@ class Sandbox(View):
|
|||
|
||||
All the example APIs allow anonymous access, and can be navigated either through the browser or from the command line...
|
||||
|
||||
bash: curl -X GET http://api.django-rest-framework.org/ # (Use default renderer)
|
||||
bash: curl -X GET http://api.django-rest-framework.org/ -H 'Accept: text/plain' # (Use plaintext documentation renderer)
|
||||
bash: curl -X GET http://shielded-mountain-6732.herokuapp.com/ # (Use default renderer)
|
||||
bash: curl -X GET http://shielded-mountain-6732.herokuapp.com/ -H 'Accept: text/plain' # (Use plaintext documentation renderer)
|
||||
|
||||
The examples provided:
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user