Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
D
django
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
django
Commits
3417ba03
Kaydet (Commit)
3417ba03
authored
Nis 12, 2014
tarafından
Claude Paroz
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Also allowed a non-overridden setting to be deleted
Refs #20032, #18824. Thanks ztorstri at gmail.com for the report.
üst
3e3a7372
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
2 deletions
+13
-2
__init__.py
django/conf/__init__.py
+3
-2
tools.txt
docs/topics/testing/tools.txt
+5
-0
tests.py
tests/settings_tests/tests.py
+5
-0
No files found.
django/conf/__init__.py
Dosyayı görüntüle @
3417ba03
...
...
@@ -153,11 +153,12 @@ class UserSettingsHolder(BaseSettings):
def
__setattr__
(
self
,
name
,
value
):
self
.
_deleted
.
discard
(
name
)
return
super
(
UserSettingsHolder
,
self
)
.
__setattr__
(
name
,
value
)
super
(
UserSettingsHolder
,
self
)
.
__setattr__
(
name
,
value
)
def
__delattr__
(
self
,
name
):
self
.
_deleted
.
add
(
name
)
return
super
(
UserSettingsHolder
,
self
)
.
__delattr__
(
name
)
if
hasattr
(
self
,
name
):
super
(
UserSettingsHolder
,
self
)
.
__delattr__
(
name
)
def
__dir__
(
self
):
return
list
(
self
.
__dict__
)
+
dir
(
self
.
default_settings
)
...
...
docs/topics/testing/tools.txt
Dosyayı görüntüle @
3417ba03
...
...
@@ -1193,6 +1193,11 @@ have been overridden, like this::
del settings.LOGIN_URL
...
.. versionchanged:: 1.7
Previously, you could only simulate the deletion of a setting which was
explicitely overridden.
When overriding settings, make sure to handle the cases in which your app's
code uses a cache or similar feature that retains state even if the setting is
changed. Django provides the :data:`django.test.signals.setting_changed`
...
...
tests/settings_tests/tests.py
Dosyayı görüntüle @
3417ba03
...
...
@@ -232,10 +232,15 @@ class SettingsTests(TestCase):
Allow deletion of a setting in an overridden settings set (#18824)
"""
previous_i18n
=
settings
.
USE_I18N
previous_l10n
=
settings
.
USE_L10N
with
self
.
settings
(
USE_I18N
=
False
):
del
settings
.
USE_I18N
self
.
assertRaises
(
AttributeError
,
getattr
,
settings
,
'USE_I18N'
)
# Should also work for a non-overridden setting
del
settings
.
USE_L10N
self
.
assertRaises
(
AttributeError
,
getattr
,
settings
,
'USE_L10N'
)
self
.
assertEqual
(
settings
.
USE_I18N
,
previous_i18n
)
self
.
assertEqual
(
settings
.
USE_L10N
,
previous_l10n
)
def
test_override_settings_nested
(
self
):
"""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment