Documentar projectos de Django con Sphinx

Sphinx es un excelente software para documentar proyectos, especialmente los que están basados en python.

Es posible que si has intentado utilizarlo en proyectos de Django obtengas un error que diga:

autodoc can't import/find module '', it reported error:
"Settings cannot be imported, because environment variable
DJANGO_SETTINGS_MODULE is undefined.",please check your spelling
and sys.path

Para solucionarlo hay que importar las settings de Django, introduciendo el siguiente código en el archivo conf.py

sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/../../'))
import settings
from django.core.management import setup_environ

setup_environ(settings)

Esto hace que sphinx lea las settings de nuestro proyecto.