mirror of
https://github.com/django/django.git
synced 2025-09-14 14:35:27 +00:00
Fixed #15552 -- LOGIN_URL and LOGIN_REDIRECT_URL can take URLpattern names.
Thanks UloPe and Eric Florenzano for the patch, and Malcolm Tredinnick for review.
This commit is contained in:
parent
518c582966
commit
a78dd109e6
13 changed files with 162 additions and 52 deletions
|
@ -1304,25 +1304,13 @@ The URL where requests are redirected after login when the
|
|||
This is used by the :func:`~django.contrib.auth.decorators.login_required`
|
||||
decorator, for example.
|
||||
|
||||
.. _`note on LOGIN_REDIRECT_URL setting`:
|
||||
.. versionchanged:: 1.5
|
||||
|
||||
.. note::
|
||||
You can use :func:`~django.core.urlresolvers.reverse_lazy` to reference
|
||||
URLs by their name instead of providing a hardcoded value. Assuming a
|
||||
``urls.py`` with an URLpattern named ``home``::
|
||||
|
||||
urlpatterns = patterns('',
|
||||
url('^welcome/$', 'test_app.views.home', name='home'),
|
||||
)
|
||||
|
||||
You can use :func:`~django.core.urlresolvers.reverse_lazy` like this::
|
||||
|
||||
from django.core.urlresolvers import reverse_lazy
|
||||
|
||||
LOGIN_REDIRECT_URL = reverse_lazy('home')
|
||||
|
||||
This also works fine with localized URLs using
|
||||
:func:`~django.conf.urls.i18n.i18n_patterns`.
|
||||
This setting now also accepts view function names and
|
||||
:ref:`named URL patterns <naming-url-patterns>` which can be used to reduce
|
||||
configuration duplication since you no longer have to define the URL in two
|
||||
places (``settings`` and URLconf).
|
||||
For backward compatibility reasons the default remains unchanged.
|
||||
|
||||
.. setting:: LOGIN_URL
|
||||
|
||||
|
@ -1334,8 +1322,13 @@ Default: ``'/accounts/login/'``
|
|||
The URL where requests are redirected for login, especially when using the
|
||||
:func:`~django.contrib.auth.decorators.login_required` decorator.
|
||||
|
||||
.. note::
|
||||
See the `note on LOGIN_REDIRECT_URL setting`_
|
||||
.. versionchanged:: 1.5
|
||||
|
||||
This setting now also accepts view function names and
|
||||
:ref:`named URL patterns <naming-url-patterns>` which can be used to reduce
|
||||
configuration duplication since you no longer have to define the URL in two
|
||||
places (``settings`` and URLconf).
|
||||
For backward compatibility reasons the default remains unchanged.
|
||||
|
||||
.. setting:: LOGOUT_URL
|
||||
|
||||
|
|
|
@ -121,6 +121,12 @@ Django 1.5 also includes several smaller improvements worth noting:
|
|||
argument. By default the batch_size is unlimited except for SQLite where
|
||||
single batch is limited so that 999 parameters per query isn't exceeded.
|
||||
|
||||
* The :setting:`LOGIN_URL` and :setting:`LOGIN_REDIRECT_URL` settings now also
|
||||
accept view function names and
|
||||
:ref:`named URL patterns <naming-url-patterns>`. This allows you to reduce
|
||||
configuration duplication. More information can be found in the
|
||||
:func:`~django.contrib.auth.decorators.login_required` documentation.
|
||||
|
||||
Backwards incompatible changes in 1.5
|
||||
=====================================
|
||||
|
||||
|
|
|
@ -947,6 +947,13 @@ The login_required decorator
|
|||
|
||||
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
|
||||
|
||||
.. versionchanged:: 1.5
|
||||
|
||||
As of version 1.5 :setting:`settings.LOGIN_URL <LOGIN_URL>` now also accepts
|
||||
view function names and :ref:`named URL patterns <naming-url-patterns>`.
|
||||
This allows you to freely remap your login view within your URLconf
|
||||
without having to update the setting.
|
||||
|
||||
.. function:: views.login(request, [template_name, redirect_field_name, authentication_form])
|
||||
|
||||
**URL name:** ``login``
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue