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

前端之家收集整理的这篇文章主要介绍了如何将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可以工作,但是如果你指向一个自定义角色,你需要在本地定义该自定义角色.

猜你在找的Python相关文章