Sphinx autodoc在django ImageField上失败

时间:2013-11-12 16:23:41

标签: django python-sphinx

我正在尝试使用sphinx来记录我正在编写的django应用程序。到目前为止,我有我的code.rst设置来查看models.py,当我运行make html时,我得到了自动文档,但是我收到了警告:

WARNING: autodoc can't import/find attribute 'myapp.models.MyModel.image', it reported error: "image", please check your spelling and sys.path

整个tracelog是:

Traceback (most recent call last):
  File "C:\blah\lib\site-packages\sphinx\ext\autodoc.py", line 326, in import_object
    obj = self.get_attr(obj, part)
  File "C:\blah\lib\site-packages\sphinx\ext\autodoc.py", line 232, in get_attr
    return safe_getattr(obj, name, *defargs)
  File "C:\blah\lib\site-packages\sphinx\util\inspect.py", line 70, in safe_getattr
    raise AttributeError(name)
AttributeError: image

MyModel.image是一个图像字段,只是在定义为:

的模型上
#: image file location for ``MyModel``
image = models.ImageField(upload_to="images/")

如果我将图像更改为models.Charfield,例如它运行正常。 ImageField会导致狮身人面像问题吗?

我的代码。第一次:

.. automodule:: dynamicbanners.models
   :members:

2 个答案:

答案 0 :(得分:0)

所以看完评论之后,这似乎是Django的怪癖与sphinx.ext.autodoc混淆。希望很快就会将修复程序放到Django 1.6中,或者我认为即将推出的1.2版本的Sphinx可能会提供解决方法,但是现在我需要找到某种解决方法。

答案 1 :(得分:0)

看起来这已在Django 1.8中修复 - https://code.djangoproject.com/ticket/12568