Django REST framework¶
Introduction¶
Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build well-connected, self-describing RESTful Web APIs.
Browse example APIs created with Django REST framework: The Sandbox
Features:¶
- Automatically provides an awesome Django admin style browse-able self-documenting API.
- Clean, simple, views for Resources, using Django’s new class based views.
- Support for ModelResources with out-of-the-box default implementations and input validation.
- Pluggable parsers, renderers, authentication and permissions - Easy to customise.
- Content type negotiation using HTTP Accept headers.
- Optional support for forms as input validation.
- Modular architecture - MixIn classes can be used without requiring the Resource or ModelResource classes.
Resources¶
Project hosting: GitHub.
- The djangorestframework package is available on PyPI.
- We have an active discussion group.
- Bug reports are handled on the issue tracker.
- There is a Jenkins CI server which tracks test status and coverage reporting. (Thanks Marko!)
Any and all questions, thoughts, bug reports and contributions are hugely appreciated.
Requirements¶
- Python (2.5, 2.6, 2.7 supported)
- Django (1.2, 1.3, 1.4 supported)
- django.contrib.staticfiles (or django-staticfiles for Django 1.2)
- URLObject >= 2.0.0
- Markdown >= 2.1.0 (Optional)
- PyYAML >= 3.10 (Optional)
Installation¶
You can install Django REST framework using pip or easy_install:
pip install djangorestframework
Or get the latest development version using git:
git clone git@github.com:tomchristie/django-rest-framework.git
Setup¶
To add Django REST framework to a Django project:
- Ensure that the djangorestframework directory is on your PYTHONPATH.
- Add djangorestframework to your INSTALLED_APPS.
For more information on settings take a look at the Setup section.
Getting Started¶
Using Django REST framework can be as simple as adding a few lines to your urlconf.
The following example exposes your MyModel model through an api. It will provide two views:
- A view which lists your model instances and simultaniously allows creation of instances
from that view.- Another view which lets you view, update or delete your model instances individually.
urls.py:
from django.conf.urls.defaults import patterns, url
from djangorestframework.resources import ModelResource
from djangorestframework.views import ListOrCreateModelView, InstanceModelView
from myapp.models import MyModel
class MyResource(ModelResource):
model = MyModel
urlpatterns = patterns('',
url(r'^
- A view which lists your model instances and simultaniously allows creation of instances
from that view. - Another view which lets you view, update or delete your model instances individually.
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)