/django/contrib/admin/__init__.py
https://code.google.com/p/mango-py/ · Python · 38 lines · 18 code · 5 blank · 15 comment · 3 complexity · 5a58b8f61e1c67c935d998869bb36909 MD5 · raw file
- # ACTION_CHECKBOX_NAME is unused, but should stay since its import from here
- # has been referenced in documentation.
- from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME
- from django.contrib.admin.options import ModelAdmin, HORIZONTAL, VERTICAL
- from django.contrib.admin.options import StackedInline, TabularInline
- from django.contrib.admin.sites import AdminSite, site
- def autodiscover():
- """
- Auto-discover INSTALLED_APPS admin.py modules and fail silently when
- not present. This forces an import on them to register any admin bits they
- may want.
- """
- import copy
- from django.conf import settings
- from django.utils.importlib import import_module
- from django.utils.module_loading import module_has_submodule
- for app in settings.INSTALLED_APPS:
- mod = import_module(app)
- # Attempt to import the app's admin module.
- try:
- before_import_registry = copy.copy(site._registry)
- import_module('%s.admin' % app)
- except:
- # Reset the model registry to the state before the last import as
- # this import will have to reoccur on the next request and this
- # could raise NotRegistered and AlreadyRegistered exceptions
- # (see #8245).
- site._registry = before_import_registry
- # Decide whether to bubble up this error. If the app just
- # doesn't have an admin module, we can ignore the error
- # attempting to import it, otherwise we want it to bubble up.
- if module_has_submodule(mod, 'admin'):
- raise