aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/examples/blogpost.rst16
-rw-r--r--docs/examples/modelviews.rst9
-rw-r--r--docs/howto/alternativeframeworks.rst37
-rw-r--r--docs/index.rst3
-rw-r--r--docs/library/serializer.rst7
5 files changed, 56 insertions, 16 deletions
diff --git a/docs/examples/blogpost.rst b/docs/examples/blogpost.rst
index 36b9d982..be91913d 100644
--- a/docs/examples/blogpost.rst
+++ b/docs/examples/blogpost.rst
@@ -18,9 +18,19 @@ In this example we're working from two related models:
Creating the resources
----------------------
-Once we have some existing models there's very little we need to do to create the API.
-Firstly create a resource for each model that defines which fields we want to expose on the model.
-Secondly we map a base view and an instance view for each resource.
+We need to create two resources that we map to our two existing models, in order to describe how the models should be serialized.
+Our resource descriptions will typically go into a module called something like 'resources.py'
+
+``resources.py``
+
+.. include:: ../../examples/blogpost/resources.py
+ :literal:
+
+Creating views for our resources
+--------------------------------
+
+Once we've created the resources there's very little we need to do to create the API.
+For each resource we'll create a base view, and an instance view.
The generic views :class:`.ListOrCreateModelView` and :class:`.InstanceModelView` provide default operations for listing, creating and updating our models via the API, and also automatically provide input validation using default ModelForms for each model.
``urls.py``
diff --git a/docs/examples/modelviews.rst b/docs/examples/modelviews.rst
index 7cc78d39..c60c9f24 100644
--- a/docs/examples/modelviews.rst
+++ b/docs/examples/modelviews.rst
@@ -25,7 +25,14 @@ Here's the model we're working from in this example:
.. include:: ../../examples/modelresourceexample/models.py
:literal:
-To add an API for the model, all we need to do is create a Resource for the model, and map a couple of views to it in our urlconf.
+To add an API for the model, first we need to create a Resource for the model.
+
+``resources.py``
+
+.. include:: ../../examples/modelresourceexample/resources.py
+ :literal:
+
+Then we simply map a couple of views to the Resource in our urlconf.
``urls.py``
diff --git a/docs/howto/alternativeframeworks.rst b/docs/howto/alternativeframeworks.rst
index c6eba1dd..dc8d1ea6 100644
--- a/docs/howto/alternativeframeworks.rst
+++ b/docs/howto/alternativeframeworks.rst
@@ -1,6 +1,35 @@
-Alternative Frameworks
-======================
+Alternative frameworks & Why Django REST framework
+==================================================
-#. `django-piston <https://bitbucket.org/jespern/django-piston/wiki/Home>`_ is excellent, and has a great community behind it. This project is based on piston code in parts.
+Alternative frameworks
+----------------------
-#. `django-tasypie <https://github.com/toastdriven/django-tastypie>`_ is also well worth looking at.
+There are a number of alternative REST frameworks for Django:
+
+* `django-piston <https://bitbucket.org/jespern/django-piston/wiki/Home>`_ is very mature, and has a large community behind it. This project was originally based on piston code in parts.
+* `django-tasypie <https://github.com/toastdriven/django-tastypie>`_ is also very good, and has a very active and helpful developer community and maintainers.
+* Other interesting projects include `dagny <https://github.com/zacharyvoase/dagny>`_ and `dj-webmachine <http://benoitc.github.com/dj-webmachine/>`_
+
+
+Why use Django REST framework?
+------------------------------
+
+The big benefits of using Django REST framework come down to:
+
+1. It's based on Django's class based views, which makes it simple, modular, and future-proof.
+2. It stays as close as possible to Django idioms and language throughout.
+3. The browse-able API makes working with the APIs extremely quick and easy.
+
+
+Why was this project created?
+-----------------------------
+
+For me the browse-able API is the most important aspect of Django REST framework.
+
+I wanted to show that Web APIs could easily be made Web browse-able,
+and demonstrate how much better browse-able Web APIs are to work with.
+
+Being able to navigate and use a Web API directly in the browser is a huge win over only having command line and programmatic
+access to the API. It enables the API to be properly self-describing, and it makes it much much quicker and easier to work with.
+There's no fundamental reason why the Web APIs we're creating shouldn't be able to render to HTML as well as JSON/XML/whatever,
+and I really think that more Web API frameworks *in whatever language* ought to be taking a similar approach.
diff --git a/docs/index.rst b/docs/index.rst
index 2bd37a85..58354ae3 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -80,8 +80,7 @@ Using Django REST framework can be as simple as adding a few lines to your urlco
from myapp.models import MyModel
class MyResource(ModelResource):
- class Meta:
- model = MyModel
+ model = MyModel
urlpatterns = patterns('',
url(r'^$', ListOrCreateModelView.as_view(resource=MyResource)),
diff --git a/docs/library/serializer.rst b/docs/library/serializer.rst
index 7942c506..63dd3308 100644
--- a/docs/library/serializer.rst
+++ b/docs/library/serializer.rst
@@ -1,10 +1,5 @@
:mod:`serializer`
=================
-.. module:: serializer
-
-.. autoclass:: serializer::Serializer.Meta
- :members:
-
-.. autoclass:: serializer::Serializer
+.. automodule:: serializer
:members: