aboutsummaryrefslogtreecommitdiffstats
path: root/topics
diff options
context:
space:
mode:
authorTom Christie2013-11-18 15:50:29 +0000
committerTom Christie2013-11-18 15:50:29 +0000
commitb907a4448572e3c48137e983248fb7411246563a (patch)
tree9e2c56d0b5464dbb3a4c99b91a1a71910c1b3076 /topics
parent961002854e202bb7017b38416a4e521850d4b20a (diff)
downloaddjango-rest-framework-b907a4448572e3c48137e983248fb7411246563a.tar.bz2
Remove .html suffixes
Diffstat (limited to 'topics')
-rw-r--r--topics/2.2-announcement.html85
-rw-r--r--topics/2.3-announcement.html89
-rw-r--r--topics/ajax-csrf-cors.html85
-rw-r--r--topics/browsable-api.html87
-rw-r--r--topics/browser-enhancements.html85
-rw-r--r--topics/contributing.html85
-rw-r--r--topics/credits.html83
-rw-r--r--topics/documenting-your-api.html87
-rw-r--r--topics/release-notes.html91
-rw-r--r--topics/rest-framework-2-announcement.html87
-rw-r--r--topics/rest-hypermedia-hateoas.html87
-rw-r--r--topics/writable-nested-serializers.html81
12 files changed, 522 insertions, 510 deletions
diff --git a/topics/2.2-announcement.html b/topics/2.2-announcement.html
index fbd04e29..431177bc 100644
--- a/topics/2.2-announcement.html
+++ b/topics/2.2-announcement.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - REST framework 2.2 announcement</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/2.2-announcement"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, REST framework 2.2 announcement">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/2.3-announcement.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/rest-framework-2-announcement.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/2.3-announcement">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/rest-framework-2-announcement"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
diff --git a/topics/2.3-announcement.html b/topics/2.3-announcement.html
index 82c2f8d0..3ac50d6d 100644
--- a/topics/2.3-announcement.html
+++ b/topics/2.3-announcement.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - REST framework 2.3 announcement</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/2.3-announcement"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, REST framework 2.3 announcement, API Changes, Other notes">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/release-notes.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/2.2-announcement.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/release-notes">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/2.2-announcement"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
@@ -217,7 +218,7 @@
<h1 id="rest-framework-23-announcement">REST framework 2.3 announcement</h1>
<p>REST framework 2.3 makes it even quicker and easier to build your Web APIs.</p>
<h2 id="viewsets-and-routers">ViewSets and Routers</h2>
-<p>The 2.3 release introduces the <a href="../api-guide/viewsets.html">ViewSet</a> and <a href="../api-guide/routers.html">Router</a> classes.</p>
+<p>The 2.3 release introduces the <a href="../api-guide/viewsets">ViewSet</a> and <a href="../api-guide/routers">Router</a> classes.</p>
<p>A viewset is simply a type of class based view that allows you to group multiple views into a single common class.</p>
<p>Routers allow you to automatically determine the URLconf for your viewset classes.</p>
<p>As an example of just how simple REST framework APIs can now be, here's an API written in a single <code>urls.py</code> module:</p>
@@ -250,7 +251,7 @@ urlpatterns = patterns('',
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
)
</code></pre>
-<p>The best place to get started with ViewSets and Routers is to take a look at the <a href="../tutorial/6-viewsets-and-routers.html">newest section in the tutorial</a>, which demonstrates their usage.</p>
+<p>The best place to get started with ViewSets and Routers is to take a look at the <a href="../tutorial/6-viewsets-and-routers">newest section in the tutorial</a>, which demonstrates their usage.</p>
<h2 id="simpler-views">Simpler views</h2>
<p>This release rationalises the API and implementation of the generic views, dropping the dependency on Django's <code>SingleObjectMixin</code> and <code>MultipleObjectMixin</code> classes, removing a number of unneeded attributes, and generally making the implementation more obvious and easy to work with.</p>
<p>This improvement is reflected in improved documentation for the <code>GenericAPIView</code> base class, and should make it easier to determine how to override methods on the base class if you need to write customized subclasses.</p>
diff --git a/topics/ajax-csrf-cors.html b/topics/ajax-csrf-cors.html
index 47a73333..0c90d60c 100644
--- a/topics/ajax-csrf-cors.html
+++ b/topics/ajax-csrf-cors.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - Working with AJAX, CSRF & CORS</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/ajax-csrf-cors"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, Working with AJAX, CSRF & CORS">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/browser-enhancements.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/documenting-your-api.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/browser-enhancements">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/documenting-your-api"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
diff --git a/topics/browsable-api.html b/topics/browsable-api.html
index 88165d49..f8523511 100644
--- a/topics/browsable-api.html
+++ b/topics/browsable-api.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - The Browsable API</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/browsable-api"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, The Browsable API">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/rest-hypermedia-hateoas.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/browser-enhancements.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/rest-hypermedia-hateoas">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/browser-enhancements"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
@@ -208,7 +209,7 @@
</blockquote>
<p>API may stand for Application <em>Programming</em> Interface, but humans have to be able to read the APIs, too; someone has to do the programming. Django REST Framework supports generating human-friendly HTML output for each resource when the <code>HTML</code> format is requested. These pages allow for easy browsing of resources, as well as forms for submitting data to the resources using <code>POST</code>, <code>PUT</code>, and <code>DELETE</code>.</p>
<h2 id="urls">URLs</h2>
-<p>If you include fully-qualified URLs in your resource output, they will be 'urlized' and made clickable for easy browsing by humans. The <code>rest_framework</code> package includes a <a href="../api-guide/reverse.html"><code>reverse</code></a> helper for this purpose.</p>
+<p>If you include fully-qualified URLs in your resource output, they will be 'urlized' and made clickable for easy browsing by humans. The <code>rest_framework</code> package includes a <a href="../api-guide/reverse"><code>reverse</code></a> helper for this purpose.</p>
<h2 id="formats">Formats</h2>
<p>By default, the API will return the format specified by the headers, which in the case of the browser is HTML. The format can be specified using <code>?format=</code> in the request, so you can look at the raw JSON response in a browser by adding <code>?format=json</code> to the URL. There are helpful extensions for viewing JSON in <a href="https://addons.mozilla.org/en-US/firefox/addon/jsonview/">Firefox</a> and <a href="https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc">Chrome</a>.</p>
<h2 id="customizing">Customizing</h2>
diff --git a/topics/browser-enhancements.html b/topics/browser-enhancements.html
index 7f71b932..118d290c 100644
--- a/topics/browser-enhancements.html
+++ b/topics/browser-enhancements.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - Browser enhancements</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/browser-enhancements"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, Browser enhancements">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/browsable-api.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/ajax-csrf-cors.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/browsable-api">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/ajax-csrf-cors"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
diff --git a/topics/contributing.html b/topics/contributing.html
index 4c96c60c..7170c91d 100644
--- a/topics/contributing.html
+++ b/topics/contributing.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - Contributing to REST framework</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/contributing"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, Contributing to REST framework, Community, Issues, Development, Testing, Documentation, Third party packages, Core committers">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/rest-framework-2-announcement.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/rest-hypermedia-hateoas.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/rest-framework-2-announcement">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/rest-hypermedia-hateoas"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
diff --git a/topics/credits.html b/topics/credits.html
index 03f0ba76..f0086c58 100644
--- a/topics/credits.html
+++ b/topics/credits.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - Credits</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/credits"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, Credits">
<meta name="author" content="Tom Christie">
@@ -42,7 +43,7 @@
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
<a class="repo-link btn btn-inverse btn-small disabled" href="#">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/release-notes.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/release-notes"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
diff --git a/topics/documenting-your-api.html b/topics/documenting-your-api.html
index 79bba0d6..b622c0ed 100644
--- a/topics/documenting-your-api.html
+++ b/topics/documenting-your-api.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - Documenting your API</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/documenting-your-api"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, Documenting your API">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/ajax-csrf-cors.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../api-guide/settings.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/ajax-csrf-cors">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../api-guide/settings"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
@@ -261,7 +262,7 @@
<h2 id="the-hypermedia-approach">The hypermedia approach</h2>
<p>To be fully RESTful an API should present its available actions as hypermedia controls in the responses that it sends.</p>
<p>In this approach, rather than documenting the available API endpoints up front, the description instead concentrates on the <em>media types</em> that are used. The available actions take may be taken on any given URL are not strictly fixed, but are instead made available by the presence of link and form controls in the returned document.</p>
-<p>To implement a hypermedia API you'll need to decide on an appropriate media type for the API, and implement a custom renderer and parser for that media type. The <a href="rest-hypermedia-hateoas.html">REST, Hypermedia &amp; HATEOAS</a> section of the documentation includes pointers to background reading, as well as links to various hypermedia formats.</p>
+<p>To implement a hypermedia API you'll need to decide on an appropriate media type for the API, and implement a custom renderer and parser for that media type. The <a href="rest-hypermedia-hateoas">REST, Hypermedia &amp; HATEOAS</a> section of the documentation includes pointers to background reading, as well as links to various hypermedia formats.</p>
</div><!--/span-->
</div><!--/row-->
</div><!--/.fluid-container-->
diff --git a/topics/release-notes.html b/topics/release-notes.html
index 5d4322b2..f7ae55a2 100644
--- a/topics/release-notes.html
+++ b/topics/release-notes.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - Release Notes</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/release-notes"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, Release Notes">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/credits.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/2.3-announcement.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/credits">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/2.3-announcement"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
@@ -356,7 +357,7 @@
<li>Made Login template easier to restyle.</li>
<li>Bugfix: Fix issue with depth&gt;1 on ModelSerializer.</li>
</ul>
-<p><strong>Note</strong>: See the <a href="2.3-announcement.html">2.3 announcement</a> for full details.</p>
+<p><strong>Note</strong>: See the <a href="2.3-announcement">2.3 announcement</a> for full details.</p>
<hr />
<h2 id="22x-series">2.2.x series</h2>
<h3 id="227">2.2.7</h3>
@@ -441,7 +442,7 @@
<li>Bugfix: Fix issue with deserializing empty to-many relations.</li>
<li>Bugfix: Ensure model field validation is still applied for ModelSerializer subclasses with an custom <code>.restore_object()</code> method.</li>
</ul>
-<p><strong>Note</strong>: See the <a href="2.2-announcement.html">2.2 announcement</a> for full details.</p>
+<p><strong>Note</strong>: See the <a href="2.2-announcement">2.2 announcement</a> for full details.</p>
<hr />
<h2 id="21x-series">2.1.x series</h2>
<h3 id="2117">2.1.17</h3>
@@ -611,7 +612,7 @@
<p><strong>Date</strong>: 30th Oct 2012</p>
<ul>
<li><strong>Fix all of the things.</strong> (Well, almost.)</li>
-<li>For more information please see the <a href="rest-framework-2-announcement.html">2.0 announcement</a>.</li>
+<li>For more information please see the <a href="rest-framework-2-announcement">2.0 announcement</a>.</li>
</ul>
<hr />
<h2 id="04x-series">0.4.x series</h2>
diff --git a/topics/rest-framework-2-announcement.html b/topics/rest-framework-2-announcement.html
index 99a0604b..4cf7f980 100644
--- a/topics/rest-framework-2-announcement.html
+++ b/topics/rest-framework-2-announcement.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - Django REST framework 2</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/rest-framework-2-announcement"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, Django REST framework 2">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/2.2-announcement.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/contributing.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/2.2-announcement">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/contributing"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
@@ -256,7 +257,7 @@
<p>We're really pleased with how the docs style looks - it's simple and clean, is easy to navigate around, and we think it reads great.</p>
<h2 id="summary">Summary</h2>
<p>In short, we've engineered the hell outta this thing, and we're incredibly proud of the result.</p>
-<p>If you're interested please take a browse around the documentation. <a href="../tutorial/1-serialization.html">The tutorial</a> is a great place to get started.</p>
+<p>If you're interested please take a browse around the documentation. <a href="../tutorial/1-serialization">The tutorial</a> is a great place to get started.</p>
<p>There's also a <a href="http://restframework.herokuapp.com/">live sandbox version of the tutorial API</a> available for testing.</p>
</div><!--/span-->
</div><!--/row-->
diff --git a/topics/rest-hypermedia-hateoas.html b/topics/rest-hypermedia-hateoas.html
index 2f26f901..899e3b86 100644
--- a/topics/rest-hypermedia-hateoas.html
+++ b/topics/rest-hypermedia-hateoas.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - REST, Hypermedia & HATEOAS</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, REST, Hypermedia & HATEOAS">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/contributing.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../topics/browsable-api.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/contributing">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../topics/browsable-api"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
@@ -223,7 +224,7 @@ the Design of Network-based Software Architectures</a>.</li>
<p>REST framework is an agnostic Web API toolkit. It does help guide you towards building well-connected APIs, and makes it easy to design appropriate media types, but it does not strictly enforce any particular design style.</p>
<h2 id="what-rest-framework-provides">What REST framework provides.</h2>
<p>It is self evident that REST framework makes it possible to build Hypermedia APIs. The browsable API that it offers is built on HTML - the hypermedia language of the web.</p>
-<p>REST framework also includes <a href="../api-guide/serializers.html">serialization</a> and <a href="../api-guide/parsers.html">parser</a>/<a href="../api-guide/renderers.html">renderer</a> components that make it easy to build appropriate media types, <a href="../api-guide/fields.html">hyperlinked relations</a> for building well-connected systems, and great support for <a href="../api-guide/content-negotiation.html">content negotiation</a>.</p>
+<p>REST framework also includes <a href="../api-guide/serializers">serialization</a> and <a href="../api-guide/parsers">parser</a>/<a href="../api-guide/renderers">renderer</a> components that make it easy to build appropriate media types, <a href="../api-guide/fields">hyperlinked relations</a> for building well-connected systems, and great support for <a href="../api-guide/content-negotiation">content negotiation</a>.</p>
<h2 id="what-rest-framework-doesnt-provide">What REST framework doesn't provide.</h2>
<p>What REST framework doesn't do is give you is machine readable hypermedia formats such as <a href="http://stateless.co/hal_specification.html">HAL</a>, <a href="http://www.amundsen.com/media-types/collection/">Collection+JSON</a>, <a href="http://jsonapi.org/">JSON API</a> or HTML <a href="http://microformats.org/wiki/Main_Page">microformats</a> by default, or the ability to auto-magically create fully HATEOAS style APIs that include hypermedia-based form descriptions and semantically labelled hyperlinks. Doing so would involve making opinionated choices about API design that should really remain outside of the framework's scope.</p>
</div><!--/span-->
diff --git a/topics/writable-nested-serializers.html b/topics/writable-nested-serializers.html
index 0ccdc25b..b7d535ca 100644
--- a/topics/writable-nested-serializers.html
+++ b/topics/writable-nested-serializers.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - Writable nested serializers</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/topics/writable-nested-serializers"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, Writable nested serializers">
<meta name="author" content="Tom Christie">
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>