Django:从管理模型到文档的超链接

gue*_*tli 9 django django-admin

我有一个广泛使用django管理界面的应用程序.

管理GUI中的一些内容需要解释(域/模型特定的文档).

我们使用sphinx和截图来解释细节.

是否有通用/自动方式从模型实例的django管理界面创建超链接到文档中的匹配部分?

我知道我可以改变模型的管理模板,但不知何故,我猜有人更好地了解如何以更专业的方式解决这个问题.

在我的情况下,文档托管在同一台服务器上.AFAIK如果你有一个重要的梦想,那就是需要这个,那里也有从docs到django应用程序的链接(但这是一个不同的问题).

"文档中的匹配部分"是什么意思?

想象一下,我有一个名为"Foo"的模型.

我有模型的文档(包括图像).

现在我希望从模型的管理页面到模型"Foo"的文档有一个超链接.

我认为这是一个非常普遍的问题.我认为很遗憾框架和第三方应用程序都不能帮助编写集成文档.

Meh*_*hak 5

这是我用来在管理站点中为特定模型创建链接的方法。

class YourModelAdmin(admin.ModelAdmin):

    def link_to_doc(self,obj):
        link = 'https://www.stackoverflow.com'
        return u'<a href="%s">%s</a>' % (link, "Link Name")

    link_to_doc.allow_tags = True
    link_to_doc.short_description = "Link Description for admin"

    fields = (
         'your_model_fields',
         'link_to_doc'           
    )

    readonly_fields = (
         'your_model_readonly_fields',
         'link_to_doc'           
    )


admin.site.register(YourModel, YourModelAdmin)
Run Code Online (Sandbox Code Playgroud)


Mel*_*cua 4

不知道该告诉您什么,但是您如何使用随附的电池:

\n\n
\n

Django\xe2\x80\x99s admindocs 应用程序从 INSTALLED_APPS 中任何应用程序的模型、视图、模板标签和模板过滤器的文档字符串中提取文档,并使该文档可从 Django 管理员获取。

\n
\n\n

由于您的文件位于 .rst 中,而不是使用sphinx-autodoc 的文档字符串(链接以供考虑)的文档字符串,您仍然可以使用此机制,通过提供一些帮助字符串作为类文档,然后链接到更详细的文档:

\n\n
class Joy(models.Model):\n    """\n    The purpose of this model is to provide you with daily joy.\n    How to achieve this is  outlined in the\n    `documentation <https://docs.example.com/models/Joy>`_.\n    """\n
Run Code Online (Sandbox Code Playgroud)\n