/django-tastypie-swagger

An adapter to use swagger-ui with django-tastypie

Primary LanguageJavaScriptBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Synopsis

django-tastypie-swagger is a small adapter library to construct Swagger documentation from Tastypie resources.

This package provides two things:

  1. An embedded instance of Swagger UI to point a URL to.
  2. Automatic Resource Listing and API Declaration generation that is consumed by #1

Usage

Install package:

pip install django-tastypie-swagger

Add to INSTALLED_APPS:

INSTALLED_APPS = [
    ...

    'tastypie_swagger',

    ...
]

Define TASTYPIE_SWAGGER_API_MODULE in your settings. It should be a python path to your instance of tastypie.api.Api:

TASTYPIE_SWAGGER_API_MODULE = 'mainsite.urls.api'

Include in your urlconf with namespace tastypie_swagger:

urlpatterns = patterns('',
    ...

    url(r'api/doc/', include('tastypie_swagger.urls', namespace='tastypie_swagger')),

    ...
)

Swagger documentation will be served up at the URL you configured.

Detecting required fields

Tastypie 0.9.11 ModelResource fields do not respect the blank attribute on django model fields, which this library depends on to determine if a field is required or not.

You can use this ModelResource subclass as a workaround to this issue.