mirror of https://github.com/django/django.git
Fixed #29226 -- Doc'd modify_settings() ordering considerations for Python < 3.6.
This commit is contained in:
parent
83b04d4f88
commit
08f788b169
|
@ -1277,6 +1277,23 @@ The decorator can also be applied to test case classes::
|
||||||
decorator. For a given class, :func:`~django.test.modify_settings` is
|
decorator. For a given class, :func:`~django.test.modify_settings` is
|
||||||
always applied after :func:`~django.test.override_settings`.
|
always applied after :func:`~django.test.override_settings`.
|
||||||
|
|
||||||
|
.. admonition:: Considerations with Python 3.5
|
||||||
|
|
||||||
|
If using Python 3.5 (or older, if using an older version of Django), avoid
|
||||||
|
mixing ``remove`` with ``append`` and ``prepend`` in
|
||||||
|
:func:`~django.test.modify_settings`. In some cases it matters whether a
|
||||||
|
value is first added and then removed or vice versa, and dictionary key
|
||||||
|
order isn't preserved until Python 3.6. Instead, apply the decorator twice
|
||||||
|
to guarantee the order of operations. For example, to ensure that
|
||||||
|
``SessionMiddleware`` appears first in ``MIDDLEWARE``::
|
||||||
|
|
||||||
|
@modify_settings(MIDDLEWARE={
|
||||||
|
'remove': ['django.contrib.sessions.middleware.SessionMiddleware'],
|
||||||
|
)
|
||||||
|
@modify_settings(MIDDLEWARE={
|
||||||
|
'prepend': ['django.contrib.sessions.middleware.SessionMiddleware'],
|
||||||
|
})
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
The settings file contains some settings that are only consulted during
|
The settings file contains some settings that are only consulted during
|
||||||
|
|
Loading…
Reference in New Issue