2012-04-10 11 views
7

estoy trabajando en un proyecto de Django que utiliza varias docenas de variables de configuración especificados en varios archivos "Ajustes", ubicado en el directorio raíz del proyecto:Organización de ajustes en Django

--> myproject 
------> app folders 
------> ... 
--- settings.py 
--- settings_global.py 
--- settings_production.py 
--- settings_development.py 

variables de diferentes settings_ * Los archivos son luego se importan en archivo settings.py basado en ciertos parámetros de tiempo de ejecución (nombre de host, etc.). Todo funciona bastante bien, pero a veces es todavía difícil de localizar cierta variable, así que me gustaría volver a organizar las variables de configuración y los divide en varias categorías: las variables específicas del proyecto

  • variables django específica
  • variables específicas de cada aplicación instalada (como configuraciones para django_compressor, etc.)
  • las variables específicas del entorno (producción/desarrollo)

también me gustaría mover todos settin gs archivos, pero settings.py archivo de configuración subdirectorio:

--> myproject 
------> app folders 
------> ... 
------> settings 
---------- __init__.py 
---------- common.py 
---------- production.py 
---------- development.py 
---------- apps.py 
---------- ... 
--- settings.py 

He creado configuración subdirectorio (así como vacíos archivo __init__.py) y copiado/cambiar el nombre de los archivos de configuración. Luego trató de importar esas variables en mi archivo setting.py de la siguiente manera:

from settings.common import * 
from settings.apps import * 

Sin embargo, estoy recibiendo el siguiente error (aunque ROOT_URLCONF existe en la configuración/archivo common.py):

AttributeError: 'Settings' object has no attribute 'ROOT_URLCONF' 

¿Qué estoy haciendo mal?

+0

dónde sacas ese error? –

+0

Lo consigo en el registro de errores de Apache (después de reiniciar el proceso y visitar la página del proyecto) – MikeAr

+0

Relacionado: http://stackoverflow.com/questions/2035733/how-to-modularize-django-settings-py http: // stackoverflow .com/questions/5583077/django-settings-py-separate-local-and-global-configuration http://stackoverflow.com/questions/1626326/how-to-manage-local-vs-production-settings-in- django – danihp

Respuesta

7

Creo que hay una colisión entre su nombre de módulo settings.py y el paquete de configuración, intente cambiar el nombre del paquete a otra cosa

+0

Ese fue el problema, gracias. – MikeAr

+0

Muchas gracias! –