aboutsummaryrefslogtreecommitdiffstats
path: root/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst132
1 files changed, 132 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 00000000..f5789ae0
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,132 @@
+Django REST framework
+=====================
+
+Django REST framework makes it easy to build well-connected, self-describing RESTful Web APIs.
+
+Features:
+
+* Creates awesome self-describing *web browse-able* APIs.
+* Clean, modular design, using Django's class based views.
+* Easily extended for custom content types, serialization formats and authentication policies.
+* Stable, well tested code-base.
+* Active developer community.
+
+Full documentation for the project is available at http://django-rest-framework.org
+
+Issue tracking is on `GitHub <https://github.com/tomchristie/django-rest-framework/issues>`_.
+General questions should be taken to the `discussion group <http://groups.google.com/group/django-rest-framework>`_.
+
+Requirements:
+
+* Python (2.5, 2.6, 2.7 supported)
+* Django (1.2, 1.3 supported)
+
+
+Installation Notes
+==================
+
+To clone the project from GitHub using git::
+
+ git clone git@github.com:tomchristie/django-rest-framework.git
+
+
+To clone the project from Bitbucket using mercurial::
+
+ hg clone https://tomchristie@bitbucket.org/tomchristie/django-rest-framework
+
+
+To install django-rest-framework in a virtualenv environment::
+
+ cd django-rest-framework
+ virtualenv --no-site-packages --distribute --python=python2.6 env
+ source env/bin/activate
+ pip install -r requirements.txt # django, coverage
+
+
+To run the tests::
+
+ export PYTHONPATH=. # Ensure djangorestframework is on the PYTHONPATH
+ python djangorestframework/runtests/runtests.py
+
+
+To run the test coverage report::
+
+ export PYTHONPATH=. # Ensure djangorestframework is on the PYTHONPATH
+ python djangorestframework/runtests/runcoverage.py
+
+
+To run the examples::
+
+ pip install -r examples/requirements.txt # pygments, httplib2, markdown
+ cd examples
+ export PYTHONPATH=..
+ python manage.py syncdb
+ python manage.py runserver
+
+
+To build the documentation::
+
+ pip install -r docs/requirements.txt # sphinx
+ sphinx-build -c docs -b html -d docs/build docs html
+
+
+To run the tests against the full set of supported configurations::
+
+ deactivate # Ensure we are not currently running in a virtualenv
+ tox
+
+
+To create the sdist packages::
+
+ python setup.py sdist --formats=gztar,zip
+
+
+
+Release Notes
+=============
+
+0.2.3
+
+* Fix some throttling bugs.
+* ``X-Throttle`` header on throttling.
+* Support for nesting resources on related models.
+
+0.2.2
+
+* Throttling support complete.
+
+0.2.1
+
+* Couple of simple bugfixes over 0.2.0
+
+0.2.0
+
+* Big refactoring changes since 0.1.0, ask on the discussion group if anything isn't clear.
+ The public API has been massively cleaned up. Expect it to be fairly stable from here on in.
+
+* ``Resource`` becomes decoupled into ``View`` and ``Resource``, your views should now inherit from ``View``, not ``Resource``.
+
+* The handler functions on views ``.get() .put() .post()`` etc, no longer have the ``content`` and ``auth`` args.
+ Use ``self.CONTENT`` inside a view to access the deserialized, validated content.
+ Use ``self.user`` inside a view to access the authenticated user.
+
+* ``allowed_methods`` and ``anon_allowed_methods`` are now defunct. if a method is defined, it's available.
+ The ``permissions`` attribute on a ``View`` is now used to provide generic permissions checking.
+ Use permission classes such as ``FullAnonAccess``, ``IsAuthenticated`` or ``IsUserOrIsAnonReadOnly`` to set the permissions.
+
+* The ``authenticators`` class becomes ``authentication``. Class names change to ``Authentication``.
+
+* The ``emitters`` class becomes ``renderers``. Class names change to ``Renderers``.
+
+* ``ResponseException`` becomes ``ErrorResponse``.
+
+* The mixin classes have been nicely refactored, the basic mixins are now ``RequestMixin``, ``ResponseMixin``, ``AuthMixin``, and ``ResourceMixin``
+ You can reuse these mixin classes individually without using the ``View`` class.
+
+0.1.1
+
+* Final build before pulling in all the refactoring changes for 0.2, in case anyone needs to hang on to 0.1.
+
+0.1.0
+
+* Initial release. \ No newline at end of file