/feincms/module/page/admin.py

http://github.com/feincms/feincms · Python · 36 lines · 22 code · 8 blank · 6 comment · 5 complexity · fd6f494ae0f4e1d9a3773b361cb97a16 MD5 · raw file

  1. # ------------------------------------------------------------------------
  2. # coding=utf-8
  3. # ------------------------------------------------------------------------
  4. from __future__ import absolute_import, unicode_literals
  5. from django.contrib import admin
  6. from django.core.exceptions import ImproperlyConfigured
  7. from feincms import ensure_completely_loaded, settings
  8. from .models import Page
  9. from .modeladmins import PageAdmin
  10. try:
  11. from django.core.exceptions import FieldDoesNotExist
  12. except ImportError: # Django<1.8
  13. from django.db.models import FieldDoesNotExist
  14. # ------------------------------------------------------------------------
  15. if settings.FEINCMS_USE_PAGE_ADMIN:
  16. ensure_completely_loaded()
  17. try:
  18. Page._meta.get_field("template_key")
  19. except FieldDoesNotExist:
  20. raise ImproperlyConfigured(
  21. "The page module requires a 'Page.register_templates()' call "
  22. "somewhere ('Page.register_regions()' is not sufficient). "
  23. "If you're not using the default Page admin, maybe try "
  24. "FEINCMS_USE_PAGE_ADMIN=False to avoid this warning."
  25. )
  26. admin.site.register(Page, PageAdmin)
  27. # ------------------------------------------------------------------------
  28. # ------------------------------------------------------------------------