Skip to content

Commit

Permalink
Add app_name to rest_framework.urls.
Browse files Browse the repository at this point in the history
This allows users in Django 1.9+ to include the authentication urls
without specifying the namespace, as in:

    urlpatterns = [
        ...
        url(r'^auth/', include('rest_framework.urls'))
    ]
  • Loading branch information
knbk committed Dec 8, 2015
1 parent f3949e9 commit c2ffaf0
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 4 deletions.
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ If you're intending to use the browsable API you'll probably also want to add RE
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

Note that the URL path can be whatever you want, but you must include `'rest_framework.urls'` with the `'rest_framework'` namespace.
Note that the URL path can be whatever you want, but you must include `'rest_framework.urls'` with the `'rest_framework'` namespace. You may leave out the namespace in Django 1.9+, and REST framework will set it for you.

## Example

Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial/4-authentication-and-permissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ And, at the end of the file, add a pattern to include the login and logout views
namespace='rest_framework')),
]

The `r'^api-auth/'` part of pattern can actually be whatever URL you want to use. The only restriction is that the included urls must use the `'rest_framework'` namespace.
The `r'^api-auth/'` part of pattern can actually be whatever URL you want to use. The only restriction is that the included urls must use the `'rest_framework'` namespace. In Django 1.9+, REST framework will set the namespace, so you may leave it out.

Now if you open up the browser again and refresh the page you'll see a 'Login' link in the top right of the page. If you log in as one of the users you created earlier, you'll be able to create code snippets again.

Expand Down
5 changes: 3 additions & 2 deletions rest_framework/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
url(r'^auth/', include('rest_framework.urls', namespace='rest_framework'))
]
The urls must be namespaced as 'rest_framework', and you should make sure
your authentication settings include `SessionAuthentication`.
In Django versions older than 1.9, the urls must be namespaced as 'rest_framework',
and you should make sure your authentication settings include `SessionAuthentication`.
"""
from __future__ import unicode_literals

Expand All @@ -19,6 +19,7 @@

template_name = {'template_name': 'rest_framework/login.html'}

app_name = 'rest_framework'
urlpatterns = [
url(r'^login/$', views.login, template_name, name='login'),
url(r'^logout/$', views.logout, template_name, name='logout'),
Expand Down

0 comments on commit c2ffaf0

Please sign in to comment.