Adding a APIView to Django REST Framework Browsable API

django, django-rest-framework, python, rest

Solution

Routers aren't designed for normal views. You need use ViewSet if you want register you url to your router.

I have the same question here. Maybe you can ref it: How can I register a single view (not a viewset) on my router?

Problem

I've been developing a REST backend with the Django REST Framework. However, I'm having trouble adding a APIView instance to the web browsable API. The documentation and the previous answer suggests that all I have to do is add a docstring. It did not work for me. I'm under the assumption that the browsable API only displays Viewset endpoints are registered with the router. If this is so, how can I register APIView classes to the router? Below is my current router code: ``` router = DefaultRouter(trailing_slash=False) router.register(r'tokens', TokenViewSet, base_name='token') urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^api/', include(router.urls)), url(r'^api/register$', RegisterUser.as_view(), name='register_user'), url(r'^api/auth$', ObtainAuthToken.as_view(), name='obtain_token'), url(r'^api/me$', ObtainProfile.as_view(), name='obtain_profile'), url(r'^api/recover$', FindUsername.as_view(), name='recover_username'), ) ``` Currently, only the Token endpoint shows up. Thank you.

Original source

Related problems