diff options
Diffstat (limited to 'docs/urls.md')
| -rw-r--r-- | docs/urls.md | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/docs/urls.md b/docs/urls.md deleted file mode 100644 index 1828dd68..00000000 --- a/docs/urls.md +++ /dev/null @@ -1,42 +0,0 @@ -Returning URIs from your Web APIs -================================= - -> The central feature that distinguishes the REST architectural style from other network-based styles is its emphasis on a uniform interface between components. -> -- <cite>Roy Fielding, Architectural Styles and the Design of Network-based Software Architectures.</cite> - -As a rule, it's probably better practice to return absolute URIs from you web APIs, eg. "http://example.com/foobar", rather than returning relative URIs, eg. "/foobar". - -The advantages of doing so are: - -* It's more explicit. -* It leaves less work for your API clients. -* There's no ambiguity about the meaning of the string when it's found in representations such as JSON that do not have a native URI type. -* It allows use to easily do things like markup HTML representations with hyperlinks. - -Django REST framework provides two utility functions to make it more simple to return absolute URIs from your Web API. - -There's no requirement for you to use them, but if you do then the self-describing API will be able to automatically hyperlink it's output for you, which makes browsing the API much easier. - -reverse(viewname, request, ...) -------------------------------- - -Has the same behavior as [`django.core.urlresolvers.reverse`](1), except that it returns a fully qualified URL, using the request to determine the host and port. - - from djangorestframework.utils import reverse - from djangorestframework.views import View - - class MyView(View): - def get(self, request): - context = { - ... - 'url': reverse('year-summary', request, args=[1945]) - } - return Response(context) - -reverse_lazy(viewname, request, ...) ------------------------------------- - -Has the same behavior as [`django.core.urlresolvers.reverse_lazy`](2), except that it returns a fully qualified URL, using the request to determine the host and port. - -[1]: https://docs.djangoproject.com/en/dev/topics/http/urls/#reverse -[1]: https://docs.djangoproject.com/en/dev/topics/http/urls/#reverse-lazy
\ No newline at end of file |
