Django admin / doc / views / all空白或破碎

时间:2010-10-21 17:57:53

标签: django-admin django-templates django-views

我正在尝试使用Django的内置管理员文档功能来简化编写模板。据说,如果你去/ admin / docs / views,你应该获得应用程序中每个视图的文档。我看到一个列表,但没有一个链接起作用:

- )列出的与我的应用程序相关的任何视图只会转到一个空白页面,只有视图名称作为标题。

- )与admin相关的视图在我点击它们时会给我Django 404错误,除了那些与文档本身相关的错误。与文档相关的链接也给我空白页面。 (即点击/ admin / doc / filters给出一个空白页面,除了“django.contrib.admindocs.views.template_filter_index”作为标题,但点击/ admin / auth / user给我一个Django 404错误

404错误让我怀疑我的URLconf是错误的,但我所做的只是取消注释内置行。相关章节如下:

# Uncomment the admin/doc line below to enable admin documentation:
(r'^admin/doc/', include('django.contrib.admindocs.urls')),

# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)), 

我不知道如何制作空白页面。我是否需要在某处提供一些额外的元信息,比如我知道您需要在模型上提供get_absolute_url以使某些管理功能正常工作?

即使没有人知道答案,管理员文档功能上的任何文档都会有用 - 我一直都是谷歌(并搜索StackOverflow),这个功能似乎很少记录。

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要将'django.contrib.admindocs'添加到INSTALLED_APPS中的settings.py。它应该已经存在并被注释掉了。如果urls.py中的评论提及它Source,那就太好了。

答案 1 :(得分:0)

永远不会查看之前的视图管理员文档页面 - 我从来没有需要。 B4ut你是对的,他们似乎是 - 缺乏潜在的功能。

如果您提供视图功能文档字符串(文档),该内容将显示在“空白页面”上。

大多数 - 不,全部 - 管理网站视图实际上是admin.sites.AdminSite的成员方法。我环顾四周,我的使用装饰器的视图也受到404的影响。

负责查看详细信息的视图开始:

def view_detail(request, view):
    if not utils.docutils_is_available:
        return missing_docutils_page(request)

    mod, func = urlresolvers.get_mod_func(view)
    try:
        view_func = getattr(import_module(mod), func)
    except (ImportError, AttributeError):
        raise Http404
    title, body, metadata = utils.parse_docstring(view_func.__doc__)
    ...

您可以看到它尝试导入视图以从中获取信息;如果视图实际上是一个装饰器(可能使用内部函数来包装真实视图),它将无法导入它。例如,如果你在django shell中执行from django.contrib.admin.sites import index,你会得到一个ImportError,而django.contrib.admin.site.index(注意单数site)是:

<bound method AdminSite.index of <django.contrib.admin.sites.AdminSite object at 0x...>>

此外,我的代码段中的最后一行似乎表明,如果您想要找出util.parse_docstring使用的模板,则可以更好地控制这些页面上显示的内容。