如何将intersphinx与特定于django的结构(如设置)相关联?

使用适当的intersphinx设置,您可以从您自己的文档链接到Django类,如下所示:

:class:`django:django.db.models.Model`

但是你如何链接到一个设置? Django使用自己的:setting:为此构造而不是内置的类似:class:.如何使用intersphinx链接到设置?

我尝试过各种各样的咒语,但都没有用(有些可能是错误的):

:ref:`django:ROOT_URLCONF`
:ref:`django:root_urlconf`
:setting:`django:ROOT_URLCONF`
:ref:`django:setting:ROOT_URLCONF`
:django:setting:`ROOT_URLCONF`

未定义标签错误:django:root_urlconf和未知解释文本角色“设置”问候我.

解决方法

问题是:我的本地狮身人面像并不知道Django的自定义狮身人面像角色,比如设置.所以这是一个非常精细的intersphinx参考:

:django:setting:`ROOT_URLCONF`

在你告诉Sphinx关于intersphinx目标的自定义角色之前不行.

最后通过将Django’s sphinx extension中的一个小片段复制为我的文档旁边的_ext / djangodocs.py来实现它:

def setup(app):
    app.add_crossref_type(
        directivename = "setting",rolename = "setting",indextemplate = "pair: %s; setting",)

我将以下内容添加到我的Sphinx’conf.py中:

import os
import sys

...

sys.path.append(
    os.path.abspath(os.path.join(os.path.dirname(__file__),"_ext")))
# ^^^ I'll do that neater later on.

extensions = ['djangodocs',# ^^^ I added that one.
              'sphinx.ext.autodoc',...
              ]

...

所以:intersphinx可以工作,但是如果你指向一个自定义角色,你需要在本地定义该自定义角色.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。