2016-05-10 11 views
1

Ich versuche, den Admin einzurichten, um Einstellungen anzuzeigen, die im Datenbank-Backend (Postgres 9.5.0) gespeichert werden sollen. I Werte manuell in shell_plus wie folgt erstellt:Unterstützt django-constance admin das Datenbank-Backend?

in [1]: von constance.backends.database.models Konstanz importieren

In [2]: = first_record Constance.objects.get (ID = 1)

In [3]: first_record Out [3]:

pg-admin zeigt richtig den Eintrag obwohl django Admin es überhaupt nicht zeigen. Ich habe den Migrationsbefehl für beide Datenbanken ausgeführt (ich habe Standard- und Produktdatenbanken), aber der Datensatz wird immer noch nicht angezeigt. Sicherlich kann ich es mit zwingen zwingen, sich mit admin wie folgt zu registrieren: admin.site.register (Konstanz) aber meine Frage ist, wenn es notwendig ist?

Antwort

1

Ja, sie tun.

Sie müssen Abhängigkeiten verwalten, aber Sie können nur nächsten Befehl zu installieren:

pip install "django-constance[database]" 

Auch müssen Sie einige additionl Einstellungen Ihren settings.py hinzufügen:

CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend' 

INSTALLED_APPS = (
    # other apps 
    'constance.backends.database', 
) 

#optional - in case you want specify table prefix 

CONSTANCE_DATABASE_PREFIX = 'constance:myproject:' 

Dann müssen Sie Übernehmen Sie Migrationen mit dem Befehl python manage.py migrate database

Für die Anzeige der Einstellungen Eingänge in Admin sollten Sie sie in Ihremangeben. Es gibt verschiedene Arten von Feldern und Sie können sogar eigene Feldtypen mit dem Parameter CONSTANCE_ADDITIONAL_FIELDS hinzufügen.

CONSTANCE_CONFIG = { 
    'THE_ANSWER': (42, 'Answer to the Ultimate Question of Life, ' 
         'The Universe, and Everything'), 
} 

Sie können mehr an Dokumentation page lesen.

+0

Alle Einstellungen wurden vorgenommen und Pip-Installation wurde wie vorgeschlagen –

+0

@ReginaSas aktualisierte Antwort mit zusätzlichen Informationen durchgeführt. Um sie im Admin-Bereich anzuzeigen, sollten Sie Eingaben in 'setting.py' definieren. –

+0

Dies ist genau der Grund für mich, einige Einstellungen aus settings.py zu verschieben und in der Datenbank zu speichern, es sei denn, ich missinterpretiere diesen Bibliothekszweck. –

Verwandte Themen