Django: Admin con più siti e lingue
-
02-10-2019 - |
Domanda
Io dovrei costruire alcune applicazioni Django, che consentono di amministrare più siti attraverso un back-end. Il quadro contrib.sites
è perfetto per i miei scopi. Posso eseguire più istanze di manage.py
con impostazioni diverse per ogni sito; Ma come Django del contratto di amministrazione con impostazioni diverse per i diversi siti, per esempio. se hanno diversi set di lingue, una diversa (default) la lingua? Quindi ci sono alcuni problemi s a faccia se si deve lavorare su oggetti provenienti da diversi siti in una amministrazione ...
Credo settings.ADMIN_FOR
dovrebbe essere molto utile per casi come questo, ma c'è quasi nessuna documentazione a riguardo e penso che in realtà non è usato nella versione attuale Django (?).
Quindi, tutte le idee / soluzioni sono i benvenuti e molto apprezzato! Grazie mille ...
Soluzione
C'è un vecchio post sul blog da James Bennet che potrebbe essere utile:
- Crea un nuovo oggetto sito nel tuo amministratore per ogni dominio, e mettere l'id di quel sito nel suo file di impostazioni come SITE_ID modo Django sa quale sito nelle corrisponde del database a questo file di impostazioni.
- Nel file delle impostazioni per il sito originale (quella con ID 1), aggiungere i file delle impostazioni degli altri siti per l'impostazione ADMIN_FOR, per far Django sapere che questa istanza dell'applicazione di amministrazione gestirà tutti i siti.
Come documentato ADMIN_FOR (per il quale non posso postale link) dovrebbe essere una tupla di moduli di impostazioni molto simile INSTALED_APPS è una tupla di Django app moduli.
Si noti che il blog post è dal 2006 in modo che utilizza un API obsoleti po '.