2012-03-23 24 views
5

Tengo una aplicación Django para la que estoy intentando configurar la documentación. La estructura de directorios es la siguiente:Configuración de Django para sphinx (documentación)

- doc 
- project 
| - manage.py 

haber puesto por los caminos de manera que Sphinx puede ver las cosas, pero cuando trato de usar autodoc, algunos de los ajustes que he puesto en settings.py no son disponible. Así es como estoy configurando el entorno, ¿qué estoy haciendo mal?

from django.core.management import setup_environ 
from project import settings 

setup_environ(settings, 'project.settings') 
+0

¿Se han documentado algunas configuraciones mientras que otras no? ¿Puede mostrarnos (una parte relevante de) el archivo settings.py? – mzjn

+0

¿Dónde está exactamente configurando ese entorno? Si está en 'conf.py' de su Sphinx, ok. Si están en otro archivo (como manage.py), esfinge podría no haberlos leído. –

+0

@ brian-hicks, ¿tiene alguna actualización sobre dónde tiene ese código de configuración de env? –

Respuesta

7

sólo puedo pensar en dos causas de por qué la llamada setup_environ() en su esfinge de conf.py no funciona:

  • No haga su magia a tiempo. Importa otras cosas que ya necesitan la configuración antes de esa línea.

  • El settings.py mismo está importando demasiado. Sería extraño si este es el caso, sin embargo.

Tenga en cuenta que setup_environ() está obsoleto. Sin embargo, no se eliminará hasta Django 1.6.

Otra opción es usar os.environ directamente en la parte superior de su script conf.py. Está garantizado que llegará a tiempo allí :-)

import os 
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings' 
+1

Hice el equivalente de esto ejecutando el comando mientras especificaba 'DJANGO_SETTINGS_MODULE'. Esto también habría funcionado. –

Cuestiones relacionadas