把django admin的文档docs调出来!

本文将指导你如何在Django的admin后台中集成并使用admindocs。参照官方教程,了解如何激活和利用这个强大的文档工具,提升后台管理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的意思就是进入了django的admin后台管理之后,可以参考django给的admindocs

怎么弄呢?大家可以参考django官方网站的一个教程2:http://docs.djangoproject.com/en/dev/intro/tutorial02/

里面有怎么激活后台管理的部分,可以先打个底.

 

from django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Example:
    # (r'^mysite/', include('mysite.foo.urls')),

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

    # Uncomment the next line to enable the admin:
    (r'^admin/(.*)', admin.site.root),
)
注意上面的代码,有# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
是被注释掉的,可以将 # 号删除,这样就可以把url打开了,同时上面说还要在settings.py中的INSTALLED_APPS中加入一个app,就是'django.contrib.admindocs'
完成了上面说的东西之后,我们就可以在登录admin后台之后,访问一些非常有参考价值的docs了.
需要注意的几个问题是:
1,需要docutils这个模块的支持.下载地址是: http://docutils.sf.net/ 
2.一定要注意(r'^admin/doc/', include('django.contrib.admindocs.urls')),放的位置(或者说顺序),注意,一定要放在(r'^admin/(.*)', admin.site.root),代码行的上面,放在下面的话,会引起404错误,也就是说找不到docs了.
具体的原因就是:(r'^admin/(.*)', admin.site.root),这一行中的r'^admin/(.*)'中的这个(.*)正则表达式的含义就是说匹配任何admin/下的任何东西any thing,所以(r'^admin/doc/', include('django.contrib.admindocs.urls')),
如果放在它的下面的话,由于解析的原因,它就会被admin/(.*)所掩盖,从而被忽略掉.我就是因为放在下面,好几天都没有解决,也找不到为什么会这样原因,后来看教程,仔细比对才发现是这么回事.
如果你把(.*)删除的话,你的admin后台就会用不了,会报错,那么docs就更用不了了.
那么是不是docs的url放在admin(.*)下面就永远不能用admindocs呢?那肯定也不是的,我已经试验出来了,只要把r'^admin/doc'这个正则url改掉,比如说r'^admindoc' ,就可以使用admindocs,总的来说它的url就不要放在'admin/'的后面就行,因为admin(.*)放在上面就匹配了所有的东西了.这个上面已经讲过一回了.
为什么说admin(.*)是匹配所有的东西呢?在下载回来的django包中有一个docs目录,在子目录ref/contrib/下有一个admin.txt,其中有这样一段话:
In this example, we register the default ``AdminSite`` instance
``django.contrib.admin.site`` at the URL ``/admin/`` ::
    # urls.py
    from django.conf.urls.defaults import *
    from django.contrib import admin
    admin.autodiscover()
    urlpatterns = patterns('',
        ('^admin/(.*)', admin.site.root),
    )
Above we used ``admin.autodiscover()`` to automatically load the
``INSTALLED_APPS`` admin.py modules.
In this example, we register the ``AdminSite`` instance
``myproject.admin.admin_site`` at the URL ``/myadmin/`` ::
    # urls.py
    from django.conf.urls.defaults import *
    from myproject.admin import admin_site
    urlpatterns = patterns('',
        ('^myadmin/(.*)', admin_site.root),
    )
There is really no need to use autodiscover when using your own ``AdminSite``
instance since you will likely be importing all the per-app admin.py modules
in your ``myproject.admin`` module.
Note that the regular expression in the URLpattern *must* group everything in
the URL that comes after the URL root -- hence the ``(.*)`` in these examples.
注意上面最后一段加粗的部分,你就会明白了.
好了废话不多说了,看看我把admindocs搞出来的截图吧:
 https://p-blog.youkuaiyun.com/images/p_blog_youkuaiyun.com/huyoo/EntryImages/20080926/admindocs.jpg
 贴图贴不上去,贴个链接吧,自己看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值