Tim S.
Tim S.

Reputation: 2257

Moving the API Root of Default Router in Django

I'm using Django 1.8 and Django REST Framework. I want the API Root functionality of using a Default Router, but I want to move it to another url, like /apiroot/ or something like that.

I found this post, but it doesn't really answer my question. I don't want to rewrite the API, I basically just want the functionality of the ^$ route to be a standard template page (home page) for the site, and have site.com/apiroot to be the new API root url.

Upvotes: 2

Views: 1013

Answers (1)

Tim S.
Tim S.

Reputation: 2257

In the process of writing up this question, I looked at the DRF source code, and found my answer. Instead of deleting the question, I figured I'd go ahead and post it, since someone else may be wondering the same thing, and a search hasn't turned up any answers to this already.

The solution to this was to add the following lines to my urls.py:

url(r'^$', media_views.index, name='index'),
url(r'^apiroot/', router.get_api_root_view()),

The first line will replace the ^$ url entry with a pointer to my index method in media_views. The second will mimic the DefaultRouter functionality from / to /apiroot/ and show the API root page there instead.

Upvotes: 2

Related Questions