1
0
mirror of https://github.com/django/django.git synced 2025-07-04 01:39:20 +00:00

Added 'Multiple admin sites in the same URLconf' section to docs/admin.txt

git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@6329 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2007-09-15 20:53:19 +00:00
parent 0b1febe248
commit b266911382

View File

@ -45,25 +45,48 @@ The last step in setting up the Django admin is to hook your ``AdminSite``
instance into your URLconf. Do this by pointing a given URL at the
``AdminSite.root`` method.
In this example, we register the ``AdminSite`` instance
``myproject.admin.admin_site`` at the URL ``/admin/`` ::
from django.conf.urls.defaults import *
from myproject.admin import admin_site
urlpatterns = patterns('',
('^admin/(.*)', admin_site.root),
)
In this example, we register the default ``AdminSite`` instance
``django.contrib.admin.site`` at the URL ``/myadmin/`` ::
``django.contrib.admin.site`` at the URL ``/admin/`` ::
# urls.py
from django.conf.urls.defaults import *
from django.contrib import admin
urlpatterns = patterns('',
('^myadmin/(.*)', admin.site.root),
('^admin/(.*)', admin.site.root),
)
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),
)
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.
Multiple admin sites in the same URLconf
----------------------------------------
It's easy to create multiple instances of the admin site on the same
Django-powered Web site. Just create multiple instances of ``AdminSite`` and
root each one at a different URL.
In this example, the URLs ``/basic-admin/`` and ``/advanced-admin/`` feature
separate versions of the admin site -- using the ``AdminSite`` instances
``myproject.admin.basic_site`` and ``myproject.admin.advanced_site``,
respectively.
# urls.py
from django.conf.urls.defaults import *
from myproject.admin import basic_site, advanced_site
urlpatterns = patterns('',
('^basic-admin/(.*)', basic_site.root),
('^advanced-admin/(.*)', advanced_site.root),
)