未知解释文本角色“;设置“;有Django docstring和Sphinx

未知解释文本角色“;设置“;有Django docstring和Sphinx,django,python-sphinx,Django,Python Sphinx,我正在编写Djagno2.2应用程序的文档 链接到设置的状态如下所示 Add :mod:`django.contrib.auth` to your :setting:`INSTALLED_APPS`... 在我的文档中,该语句是 The length is defined in the :setting:`URL_ID_LENGTH` 使用Sphinx生成文档时 make html 发出警告 :docstring of app.models.Class.function:4: WARNIN

我正在编写Djagno2.2应用程序的文档

链接到设置的状态如下所示

Add :mod:`django.contrib.auth` to your :setting:`INSTALLED_APPS`...
在我的文档中,该语句是

The length is defined in the :setting:`URL_ID_LENGTH`
使用Sphinx生成文档时

make html
发出警告

:docstring of app.models.Class.function:4: WARNING: Unknown interpreted text role "setting".
我已将
sphinx.ext.intersphinx
添加到sphinx的
conf.py

中,根据,它有自己的特定标记

您需要将来自Django的
djangodocs
添加到您的:

extensions = [
    "djangodocs",
    'sphinx.ext.extlinks',
    "sphinx.ext.intersphinx",
    "sphinx.ext.viewcode",
]
然后将文件放入
docs/\u ext/djangodocs.py

最后是这样的:

sys.path.append(abspath(join(dirname(__file__), "_ext")))

Django文档中是否解释了有一个名为“djangodocs”的Sphinx扩展?否,它只是说明它有自己的特定标记,包括
:setting:
。我假设它是在他们的
conf.py
中定义的自定义角色,但发现它是他们自己的扩展。但是没有关于如何使用它。他们应该把它放在文档中,这个问题很快就解决了,因为“无效”。问题在于,没有文档说明您需要启用“djangodocs”扩展才能使用Django特定的标记。我猜他们假设开发人员在为Django编写自己的附加组件/扩展等时会“知道”它。:/我鼓励@AnujTBE详细说明为什么这对于编写文档的开发人员来说是一个问题。