Python JavaScript Elixir
Latest commit 9dbc152 Apr 11, 2013 @fatiherikli fatiherikli Merge pull request #16 from tfcoding/django_15
Template Django 1.5 Compatible


Django API Playground

A django app that creates api explorer for RESTful APIs.

Works with any RESTful API. For example, you can create api explorer for your tastypie based API with this app.



To get this application up and running, please follow the steps below:

Install from pip:

pip install django-api-playground

Or from source:

pip install git+git://

Add to installed apps:

    # ...


Create database tables:

./ syncdb

Installation is completed. You can define the API schema now.

First step, Create an url:


from api.playgrounds import ExampleAPIPlayground

urlpatterns = patterns('',
    (r'api-explorer/', include(ExampleAPIPlayground().urls)),

Second step, Define a subclass for your API:

# api/

from apiplayground import APIPlayground

class ExampleAPIPlayground(APIPlayground):

    schema = {
        "title": "API Playground",
        "base_url": "http://localhost/api/",
        "resources": [
                "name": "/feedbacks",
                "description": "This resource allows you to manage feedbacks.",
                "endpoints": [
                        "method": "GET",
                        "url": "/api/feedbacks/{feedback-id}",
                        "description": "Returns a specific feedback item",
                        "parameters": [{
                            "name": "order_by",
                            "type": "select",
                            "choices": [["", "None"], ["id", "id"], ["-id", "-id"]],
                            "default": "id"
                        "method": "POST",
                        "url": "/api/feedbacks/",
                        "description": "Creates new feedback item",
                        "parameters": [{
                            "name": "title",
                            "type": "string"
                            "name": "resource",
                            "type": "string"
                           "name": "description",
                           "type": "string"

That's all. More detailed documentation will be coming soon.

Special Thanks

  • Berker Peksag (for such a beautiful project name suggestion)