File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change 1
1
from django .contrib .admin .options import ModelAdmin , HORIZONTAL , VERTICAL
2
2
from django .contrib .admin .options import StackedInline , TabularInline
3
3
from django .contrib .admin .sites import AdminSite , site
4
+
5
+ def autodiscover ():
6
+ """
7
+ Auto-discover INSTALLED_APPS admin.py modules and fail silently when
8
+ not present. This forces an import on them to register any admin bits they
9
+ may want.
10
+ """
11
+ from django .conf import settings
12
+ for app in settings .INSTALLED_APPS :
13
+ try :
14
+ __import__ ("%s.admin" % app )
15
+ except ImportError :
16
+ pass
Original file line number Diff line number Diff line change @@ -609,11 +609,16 @@ In this example, we register the default ``AdminSite`` instance
609
609
# urls.py
610
610
from django.conf.urls.defaults import *
611
611
from django.contrib import admin
612
+
613
+ admin.autodiscover()
612
614
613
615
urlpatterns = patterns('',
614
616
('^admin/(.*)', admin.site.root),
615
617
)
616
618
619
+ Above we used ``admin.autodiscover()`` to automatically load the
620
+ ``INSTALLED_APPS`` admin.py modules.
621
+
617
622
In this example, we register the ``AdminSite`` instance
618
623
``myproject.admin.admin_site`` at the URL ``/myadmin/`` ::
619
624
@@ -625,6 +630,10 @@ In this example, we register the ``AdminSite`` instance
625
630
('^myadmin/(.*)', admin_site.root),
626
631
)
627
632
633
+ There is really no need to use autodiscover when using your own ``AdminSite``
634
+ instance since you will likely be importing all the per-app admin.py modules
635
+ in your ``myproject.admin`` module.
636
+
628
637
Note that the regular expression in the URLpattern *must* group everything in
629
638
the URL that comes after the URL root -- hence the ``(.*)`` in these examples.
630
639
You can’t perform that action at this time.
0 commit comments