Ben belkide ben basit bir şey eksik Python dekoratörler için yeni, burada benim durumdur anahtar kelimenin olamaz ifadesi ": Django @override_settings sözlüğe izin vermiyor mu?</p> <pre><code>def test_something(self): settings.SETTING_DICT['key'] = True #no error ... </code></pre> <p>Ama bu bir "SyntaxError atar: Bu benim için çalışıyor</p> <p>:
@override_settings(SETTING_DICT['key'] = True) #error
def test_something(self):
...
Daha açıkçası, geçersiz kılma ayarlarında normal kullanım çalışır:
@override_settings(SETTING_VAR = True) #no error
def test_something(self):
...
Dekoratörün bir ayar sözlüğü ile kullanılmasının bir yolu var mı, yoksa yanlış bir şey mi yapıyorum?
Şimdiden teşekkürler! Bir bağlam yöneticisi olarak override_settings
kullanabilirsiniz
@override_settings(SETTING_DICT={'key': True})
def test_something(self):
...
Veya:
bir yinelenen gibi görünmüyor @AamirAdnan - çok özel django. Umarım katılıyorumdur. – alecxe
@alecxe bir dekoratör sadece bir işlevdir, bu nedenle neden yinelenemez? Açıkçası buradaki farklı bağlamda ortaya çıkıyor ancak temel sorun aynı mı? –
@AamirAdnan iyi, bu kesinlikle ilgili, katılıyorum, ama bir kopya değil - sadece benim düşüncem. – alecxe