Question: 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](http://www.django-rest-framework.org/topics/documenting-your-api/#self-describing-apis) and the [previous answer](https://stackoverflow.com/questions/18817988/using-django-rest-frameworks-browsable-api-with-apiviews) 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.

Answer: 
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?](https://stackoverflow.com/questions/30389248/how-can-i-register-a-single-view-not-a-viewset-on-my-router)
I believe the line that includes the router.urls is 'preempting' other urls starting with *api*. Try changing,

```
url(r'^api/', include(router.urls)),

```

to

```
url(r'^tokenapi/', include(router.urls)),

```

If that works then try moving the line with *include* to be the last line in the url patterns list and changing *tokenapi* back to *api*.

```
urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.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'),
    url(r'^api/', include(router.urls)),
)

```