Django-easysettings è un app Django che fornisce impostazioni specifiche app per Django.
Installazione
Per installare, eseguire: pip installare Django-easysettings
O per la versione di sviluppo: Pip installare django-easysettings == dev
Utilizzo
Creare un file conf.py all'interno directory del vostro app, aggiungendo attributi per i valori predefiniti delle impostazioni specifiche per app. Saranno sostituite da qualsiasi impostazione del progetto che viene fornito.
Per esempio:
da easysettings AppSettings importazione
Impostazioni classe (AppSettings):
& nbsp; MYAPP_WIDGETS = ('foo', 'bar')
Impostazioni = Impostazioni ()
Poi nella vostra applicazione, piuttosto che da django.conf impostazioni di importazione, utilizzo di impostazioni di importazione myapp.conf. Per esempio:
dalle impostazioni di importazione myapp.conf
def cruscotto (richiesta):
& nbsp; data = {}
& Nbsp; per widget nella settings.MYAPP_WIDGETS:
& Nbsp; dati [del widget] = render_widget (Widget)
& Nbsp; se settings.DEBUG:
& Nbsp; dati ['debug_mode'] = true
& Nbsp; # ...
Impostazioni di isolamento durante il test
È possibile forzare i test della vostra applicazione per utilizzare le impostazioni predefinite del progetto, piuttosto che qualsiasi valore nel modulo di configurazione delle impostazioni del progetto.
Basta impostare settings.isolated = True.
Ad esempio, è possibile utilizzare una classe di test di base per fare questo:
Classe BaseTest (TestCase):
& Nbsp; def setUp (self):
& Nbsp; "" "
& Nbsp; Isolare tutte le impostazioni specifiche delle applicazioni.
& Nbsp; "" "
& Nbsp; uscita = super (BaseTest, auto) .setup ()
& Nbsp; settings.isolated = True
& Nbsp; uscita di ritorno
& Nbsp; def tearDown (self):
& Nbsp; "" "
& Nbsp; Ripristina impostazioni al loro stato originale.
& Nbsp; "" "
& Nbsp; settings.isolated = False
& Nbsp; settings.revert ()
& Nbsp; di ritorno super (BaseTest, auto) .tearDown ()
Come mostrato anche nell'esempio precedente, è possibile ripristinare le modifiche apportate chiamando settings.revert ()
Requisiti :.
- Python
- Django
I commenti non trovato