gpt4 book ai didi

django - 如何将 intersphinx 链接到 django 特定的构造(如设置)?

转载 作者:行者123 更新时间:2023-12-04 13:52:24 25 4
gpt4 key购买 nike

通过适当的 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`

类似 undefined label: django:root_urlconf 的错误和 Unknown interpreted text role "setting"问候我。

最佳答案

问题:我的本地 sphinx 不知道 Django 的自定义 sphinx 角色,例如 setting .所以一个完美的 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 可以工作,但是如果您指向自定义角色,则需要在本地定义该自定义角色。

关于django - 如何将 intersphinx 链接到 django 特定的构造(如设置)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13387125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com