# Django Rest Framework > Auth needs to be pluggable. ## Pages - [Authentication](api-guide-authentication.md): Auth needs to be pluggable. - [Caching](api-guide-caching.md): A certain woman had a very sharp consciousness but almost no - [Content negotiation](api-guide-content-negotiation.md): HTTP has provisions for several mechanisms for "content negotiation" - the process of selecting the best representati... - [Exceptions](api-guide-exceptions.md): Exceptions… allow error handling to be organized cleanly in a central or high-level place within the program structure. - [Serializer fields](api-guide-fields.md): Each field in a Form class is responsible not only for validating data, but also for "cleaning" it — normalizin... - [Filtering](api-guide-filtering.md): The root QuerySet provided by the Manager describes all objects in the database table. Usually, though, you'll need ... - [Format suffixes](api-guide-format-suffixes.md): Section 6.2.1 does not say that content negotiation should be - [Generic views](api-guide-generic-views.md): Django’s generic views... were developed as a shortcut for common usage patterns... They take certain common idioms a... - [Metadata](api-guide-metadata.md): [The`OPTIONS`] method allows a client to determine the options and/or requirements associated with a resource, or th... - [Pagination](api-guide-pagination.md): Django provides a few classes that help you manage paginated data – that is, data that’s split across several pages, ... - [Parsers](api-guide-parsers.md): Machine interacting web services tend to use more - [Permissions](api-guide-permissions.md): Authentication or identification by itself is not usually sufficient to gain access to information or code. For that... - [Serializer relations](api-guide-relations.md): Data structures, not algorithms, are central to programming. - [Renderers](api-guide-renderers.md): Before a TemplateResponse instance can be returned to the client, it must be rendered. The rendering process takes th... - [Requests](api-guide-requests.md): If you're doing REST-based web service stuff ... you should ignore request.POST. - [Responses](api-guide-responses.md): Unlike basic HttpResponse objects, TemplateResponse objects retain the details of the context that was provided by th... - [Returning URLs](api-guide-reverse.md): The central feature that distinguishes the REST architectural style from other network-based styles is its emphasis o... - [Routers](api-guide-routers.md): Resource routing allows you to quickly declare all of the common routes for a given resourceful controller. Instead ... - [Schema](api-guide-schemas.md): A machine-readable [schema] describes what resources are available via the API, what their URLs are, how they are rep... - [Serializers](api-guide-serializers.md): Expanding the usefulness of the serializers is something that we would - [Settings](api-guide-settings.md): Namespaces are one honking great idea - let's do more of those! - [Status Codes](api-guide-status-codes.md): 418 I'm a teapot - Any attempt to brew coffee with a teapot should result in the error code "418 I'm a teapot". The ... - [Testing](api-guide-testing.md): Code without tests is broken as designed. - [Throttling](api-guide-throttling.md): HTTP/1.1 420 Enhance Your Calm - [Validators](api-guide-validators.md): Validators can be useful for reusing validation logic between different types of fields. - [Versioning](api-guide-versioning.md): Versioning an interface is just a "polite" way to kill deployed clients. - [Class-based Views](api-guide-views.md): Django's class-based views are a welcome departure from the old-style views. - [ViewSets](api-guide-viewsets.md): After routing has determined which controller to use for a request, your controller is responsible for making sense o... - [Django REST framework 3.0](community-30-announcement.md): The 3.0 release of Django REST framework is the result of almost four years of iteration and refinement. It comprehen... - [Django REST framework 3.1](community-31-announcement.md): The 3.1 release is an intermediate step in the Kickstarter project releases, and includes a range of new functionality. - [Django REST framework 3.10](community-310-announcement.md): .promo li a { - [Django REST framework 3.11](community-311-announcement.md): .promo li a { - [Django REST framework 3.12](community-312-announcement.md): .promo li a { - [Django REST framework 3.13](community-313-announcement.md): .promo li a { - [Django REST framework 3.14](community-314-announcement.md): .promo li a { - [Django REST framework 3.15](community-315-announcement.md): .promo li a { - [Django REST framework 3.16](community-316-announcement.md): .promo li a { - [Django REST framework 3.2](community-32-announcement.md): The 3.2 release is the first version to include an admin interface for the browsable API. - [Django REST framework 3.3](community-33-announcement.md): The 3.3 release marks the final work in the Kickstarter funded series. We'd like to offer a final resounding **thank ... - [Django REST framework 3.4](community-34-announcement.md): .promo li a { - [Django REST framework 3.5](community-35-announcement.md): .promo li a { - [Django REST framework 3.6](community-36-announcement.md): .promo li a { - [Django REST framework 3.7](community-37-announcement.md): .promo li a { - [Django REST framework 3.8](community-38-announcement.md): .promo li a { - [Django REST framework 3.9](community-39-announcement.md): .promo li a { - [Contributing to REST framework](community-contributing.md): The world can only really be changed one piece at a time. The art is picking that piece. - [Jobs](community-jobs.md): Looking for a new Django REST Framework related role? On this site we provide a list of job resources that may be hel... - [Kickstarting Django REST framework 3](community-kickstarter-announcement.md): In order to continue to drive the project forward, I'm launching a Kickstarter campaign to help fund the development ... - [Mozilla Grant](community-mozilla-grant.md): We have recently been [awarded a Mozilla grant](https://blog.mozilla.org/blog/2016/04/13/mozilla-open-source-support-... - [Project management](community-project-management.md): "No one can whistle a symphony; it takes a whole orchestra to play it" - [Release Notes](community-release-notes.md): - **Minor** version numbers (0.0.x) are used for changes that are API compatible. You should be able to upgrade betw... - [Third Party Packages](community-third-party-packages.md): Software ecosystems […] establish a community that further accelerates the sharing of knowledge, content, issues, exp... - [Tutorials and Resources](community-tutorials-and-resources.md): There are a wide range of resources available for learning and using Django REST framework. We try to keep a comprehe... - [Index](index.md): .promo li a { - [Working with AJAX, CSRF & CORS](topics-ajax-csrf-cors.md): "Take a close look at possible CSRF / XSRF vulnerabilities on your own websites. They're the worst kind of vulnerabi... - [The Browsable API](topics-browsable-api.md): It is a profoundly erroneous truism... that we should cultivate the habit of thinking of what we are doing. The prec... - [Browser enhancements](topics-browser-enhancements.md): "There are two noncontroversial uses for overloaded POST. The first is to *simulate* HTTP's uniform interface for cl... - [Documenting your API](topics-documenting-your-api.md): A REST API should spend almost all of its descriptive effort in defining the media type(s) used for representing reso... - [HTML & Forms](topics-html-and-forms.md): REST framework is suitable for returning both API style responses, and regular HTML pages. Additionally, serializers ... - [Internationalization](topics-internationalization.md): Supporting internationalization is not optional. It must be a core feature. - [REST, Hypermedia & HATEOAS](topics-rest-hypermedia-hateoas.md): You keep using that word "REST". I do not think it means what you think it means. - [Writable nested serializers](topics-writable-nested-serializers.md): To save HTTP requests, it may be convenient to send related documents along with the request. - [Tutorial 1: Serialization](tutorial-1-serialization.md): This tutorial will cover creating a simple pastebin code highlighting Web API. Along the way it will introduce the v... - [Tutorial 2: Requests and Responses](tutorial-2-requests-and-responses.md): From this point we're going to really start covering the core of REST framework. - [Tutorial 3: Class-based Views](tutorial-3-class-based-views.md): We can also write our API views using class-based views, rather than function based views. As we'll see this is a po... - [Tutorial 4: Authentication & Permissions](tutorial-4-authentication-and-permissions.md): Currently our API doesn't have any restrictions on who can edit or delete code snippets. We'd like to have some more... - [Tutorial 5: Relationships & Hyperlinked APIs](tutorial-5-relationships-and-hyperlinked-apis.md): At the moment relationships within our API are represented by using primary keys. In this part of the tutorial we'll... - [Tutorial 6: ViewSets & Routers](tutorial-6-viewsets-and-routers.md): REST framework includes an abstraction for dealing with`ViewSets`, that allows the developer to concentrate on model... - [Quickstart](tutorial-quickstart.md): We're going to create a simple API to allow admin users to view and edit the users and groups in the system.