自动文档在django ImageField上失败

问题描述 投票:4回答:2

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

警告:autodoc无法导入/查找属性'myapp.models.MyModel.image',它报告错误:“ image”,请检查您的拼写和sys.path

整个跟踪日志是:

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有什么原因会导致狮身人面像问题?

我的code.rst:

.. automodule:: dynamicbanners.models
   :members:
django python-sphinx autodoc
2个回答
1
投票

因此,在阅读注释后,似乎这是Django的怪癖,与sphinx.ext.autodoc混为一谈。希望该修复程序很快就会在Django 1.6中发布,或者失败,否则我认为即将发布的Sphinx 1.2版本可能提供解决方法,但是现在我需要找到某种解决方法。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.