- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经开始将 Sphinx 用于 django 项目,但遇到了障碍:
模块的文档是这样的:
:mod:`models` Module
--------------------
.. automodule:: userprofile.models
:members:
:undoc-members:
:show-inheritance:
相关代码如下所示:
# models is django.db.models
class ProfileQuerystring(models.Model):
[..]
问题是 ProfileQuerystring
没有出现在 HTML 构建中。但是,如果我删除对 models.Model
的继承(所以该行看起来像 class ProfileQuerystring:
)并重新构建,该类就会被记录下来。
这不会发生在该代码之上的几行,我从 models.Manager
继承的地方。
任何人都可以帮助我或者至少给我一个提示吗?
后期编辑:
如果我手动添加它,它会起作用:
.. automodule:: cinely.userprofile.models
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: cinely.userprofile.models.ProfileQuerystring # <-- note this
所以类可以被记录,但是 automodule
不想这样做。
后期编辑 2:
我已经尝试从 Model
中删除 __metaclass__
属性,但没有任何反应。此外,由于我已经开始编辑 Django 源代码,所以我捕获机会向控制台打印了一些内容,但什么也没发生。我可以确认使用了自定义的 django,因为我已经卸载了安装的 pip
。
最佳答案
这是一个初步的答案,可能是错误的。它太长了,无法作为评论......但是,如果你看一下 django 源代码,你会注意到 Model
和 Manager
有不同的继承三。特别是,Model 类 使用 __metaclass__
属性:
Manager :
class Manager(object):
# Tracks each time a Manager instance is created. Used to retain order.
creation_counter = 0
Model :
class Model(object):
__metaclass__ = ModelBase
_deferred = False
我的猜测(但仅此而已:一个猜测)是当 ModelBase
创建类时,它以一种混淆 sphinx 和使其无法理解该类是模块 models
的一部分。
module = attrs.pop('__module__')
new_class = super_new(cls, name, bases, {'__module__': module})
这个假设与您的观察结果一致,即当明确指定要记录的类时,sphinx 在生成文档时没有问题。
有帮助吗?
编辑: 我刚刚想到,验证这个假设的一个简单方法是临时注释掉 Model
中的 __metaclass__
行类定义并查看 sphinx 是否以这种方式拾取它...
关于python - 狮身人面像 autodoc django 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8593368/
我写了一个 python 类,并用 sphinx 制作了文档。例如,类看起来像: class Aclass(object): """ my class """ def __init__
我正在尝试使用 sphinx 来为我的项目创建文档,它是一组划分为项目内部模块的函数。 我只需要在文档中公开一小部分函数,所以我使用 autodoc-skip-member 通过标记文档字符串来过
我正在尝试使用 Sphinx 记录一个项目,但遇到了一个问题,即仅从文件夹中导入了一些模块。我的项目结构如下所示: Project | |--Main | |--Scripts |
我正在尝试自动生成我的 Django 项目的文档。文档树在 html 页面上生成,但我的任何模块中的任何成员都没有文档。我一直遇到这个问题: Running Sphinx v1.1.3 loading
我有一个 python 模块,它定义了一个多行字符串常量。我想在基于 Sphinx 的文档中很好地显示多行字符串。 下面是一些 Python 代码示例,RST 以及它如何使用 sphinx-build
正如标题所示,我正在使用 Sphinx 为 python 库生成文档并使用自动文档功能。 我遇到的问题是 autodoc 导入器无法正确导入库。 Traceback (most recent call
当我制作htmlthis little project的Sphinx文档时我得到: $ make html sphinx-build -b html -d _build/doctrees . _b
我是 sphinx 的新手,需要帮助来弄清楚为什么我会收到以下错误: WARNING: autodoc: failed to import module 'employe_dao' from modu
我正在尝试在 Sphinx 中使用 autodoc 打印出特定模块中每个函数的文档字符串,但不包括模块的文档字符串。可能吗? 原因是我正在使用模块文档字符串来指定命令行选项(使用可爱的 docopt)
我正在尝试使用 sphinx(结合 autodoc 和 numpydoc)来记录我的模块,但是在基本设置之后,运行 make html 只生成基本的 html,不包含文档字符串。我运行的是Python
我正在尝试仅对选定的模块使用 autodoc。我创建了一个文件,其中包括: .. automodule:: some.specific.module :members: 它会正确生成。不幸的是,
我正在用 Sphinx 记录一个类,只是想跳过其中一个类成员: class StatusUpdateAdapter(logging.LoggerAdapter): """ """
我正在使用 Sphinx 的 autodoc 插件来自动记录一组模块。我有一个接受 *args 的函数,我想覆盖文档以显示更好的 funcname(arg1[, arg2[, ...]]) Pytho
我正在尝试使用 Sphinx 来记录我的 Python 类。我使用自动文档这样做: .. autoclass:: Bus :members: 虽然它正确地为我的方法获取文档字符串,但那些被修饰的
我有一个包含两个记录在案的全局特殊成员的模块。 在本地运行 Sphinx 会创建包含其文档的文档,但 Read the Docs 不会。它改为使用内置类型的文档。 我尝试了两种样式:#: 和定义后的文
我正在尝试使用 Sphinx 在 Python 中记录一个超过 5,000 行的项目。它有大约 7 个基本模块。据我所知,为了使用 autodoc,我需要为项目中的每个文件编写这样的代码: .. au
我正在使用 Sphinx autodoc 扩展来记录我的 Python 项目。我的类(class)文档中有以下内容: .. automodule:: ClassName :members:
我正在尝试在扩展外部类的类上运行 autodoc。 我使用了模拟以便接受导入。 为此,我使用了此博客中描述的内容 http://blog.rtwilson.com/how-to-make-your-s
我有一个带有类型提示的长签名函数,例如 def set_parameters( tokenizer: Union[None, "Tokenizer", str] = None,
是否可以更改 Sphinx AutoDoc 生成的输出顺序? 特别是,我使用 :private-members: 指令包括私有(private)成员。我想要的是私有(private)成员在输出中出现
我是一名优秀的程序员,十分优秀!