Tastypie Settings

This is a comprehensive list of the settings Tastypie recognizes.

API_LIMIT_PER_PAGE

Optional

This setting controls the default number of records Tastypie will show in a list view.

This is only used when a user does not specify a limit GET parameter and the Resource subclass has not overridden the number to be shown.

An example:

API_LIMIT_PER_PAGE = 50

If you don’t want to limit the number of records by default, you can set this setting to 0:

API_LIMIT_PER_PAGE = 0

Defaults to 20.

TASTYPIE_FULL_DEBUG

Optional

This setting controls what the behavior is when an unhandled exception occurs.

If set to True and settings.DEBUG = True, the standard Django technical 500 is displayed.

If not set or set to False, Tastypie will return a serialized response. If settings.DEBUG is True, you’ll get the actual exception message plus a traceback. If settings.DEBUG is False, Tastypie will call mail_admins() and provide a canned error message (which you can override with TASTYPIE_CANNED_ERROR) in the response.

An example:

TASTYPIE_FULL_DEBUG = True

Defaults to False.

TASTYPIE_CANNED_ERROR

Optional

This setting allows you to override the canned error response when an unhandled exception is raised and settings.DEBUG is False.

An example:

TASTYPIE_CANNED_ERROR = "Oops, we broke it!"

Defaults to "Sorry, this request could not be processed. Please try again later.".

TASTYPIE_ALLOW_MISSING_SLASH

Optional

This setting allows your URLs to be missing the final slash. Useful for integrating with other systems.

You must also have settings.APPEND_SLASH = False so that Django does not emit HTTP 302 redirects.

An example:

TASTYPIE_ALLOW_MISSING_SLASH = True

Defaults to False.

TASTYPIE_DATETIME_FORMATTING

Optional

This setting allows you to globally choose what format your datetime/date/time data will be formatted in. Valid options are iso-8601, iso-8601-strict & rfc-2822.

An example:

TASTYPIE_DATETIME_FORMATTING = 'rfc-2822'

Defaults to iso-8601. iso-8601 includes microseconds if available, use iso-8601-strict to strip them.

TASTYPIE_DEFAULT_FORMATS

Optional

This setting allows you to globally configure the list of allowed serialization formats for your entire site.

An example:

TASTYPIE_DEFAULT_FORMATS = ['json', 'xml']

Defaults to ['json', 'xml', 'yaml', 'html', 'plist'].

TASTYPIE_ABSTRACT_APIKEY

Optional

This setting makes the ApiKey model an abstract base class. This may be useful in multi-database setups where many databases each have their own table for user data and ApiKeyAuthentication is not used. Without this setting, the tastypie_apikey table would have to be created on each database containing user account data (such as Django’s built-in auth_user table generated by django.contrib.auth.models.User). Valid options are True & False.

An example:

TASTYPIE_ABSTRACT_APIKEY = True

Defaults to False.