Pregunta

Se supone que yo construir algunas aplicaciones Django, que le permiten administrar múltiples sitios a través de uno de back-end. El marco contrib.sites es bastante perfecto para mis propósitos. Puedo ejecutar varias instancias de manage.py con diferentes ajustes para cada sitio; Pero, ¿cómo Django acuerdo de administración con diferentes configuraciones para diferentes sitios, por ejemplo. si tienen diferentes conjuntos de idiomas, un idioma diferente (por defecto)? Así que hay un cierto problema de enfrentarse a si tiene que trabajar en objetos procedentes de diferentes sitios con un administrador ...

Creo settings.ADMIN_FOR se supone que es muy útil para casos como este, pero theres casi ninguna documentación al respecto y yo creo que no es muy utilizado en la versión actual de Django (?).

Así que cualquier ideas / soluciones son bienvenidos y muy apreciado! Muchas gracias ...

¿Fue útil?

Solución

Hay un viejo entrada de blog por James Bennet que podrían ser útiles:

  1. Crear un nuevo objeto de sitio en su administración para cada dominio, y poner el id de ese sitio en su archivo de configuración SITE_ID como así Django sabe qué sitio en la base de datos corresponde a este archivo de configuración.
  2. En el archivo de configuración de su sitio original (el que tiene la ID 1), añadir archivos de configuración de los otros sitios de la configuración ADMIN_FOR, para que Django sabe que esta una instancia de la aplicación de administración se encargará de todos los sitios.

Como se documenta ADMIN_FOR (para los que no puedo poste enlace) debe ser una tupla de módulos de configuración mucho como INSTALED_APPS es una tupla de django aplicación módulos.

Tenga en cuenta que el blog post es a partir de 2006 por lo que utiliza una API poco anticuado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top