wagtail

TemplateDoesNotExist error for a simple ModelAdmin example


I've used Wagtail's ModelAdmin on a few other projects with great success, but this is the first time I'm attempting to use it with a model inheriting from Page.

I copied the simple example template and removed the parts that didn't relate to my BlogPageModel.

The link to the ModelAdmin appears as expected, but when I click it, I get TemplateDoesNotExist at /admin/blog/blogpage/.

I don't remember having to set up a template before. Is there a setting I'm missing?

Wagtail: 1.9 / Django: 1.10.5 / Python: 3.5.2

Update: I tried it with a model that inherits from models.Model as well with the same result.

Traceback follows:

Internal Server Error: /admin/blog/blogpage/
Traceback (most recent call last):
  File "/Users/username/.virtualenv/lib/python3.5/site-packages/django/core/handlers/exception.py", line 39, in inner
    response = get_response(request)
  File "/Users/username/.virtualenv/lib/python3.5/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
    response = self._get_response(request)
  File "/Users/username/.virtualenv/lib/python3.5/site-packages/django/core/handlers/base.py", line 217, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/username/.virtualenv/lib/python3.5/site-packages/django/core/handlers/base.py", line 215, in _get_response
    response = response.render()
  File "/Users/username/.virtualenv/lib/python3.5/site-packages/django/template/response.py", line 109, in render
    self.content = self.rendered_content
  File "/Users/username/.virtualenv/lib/python3.5/site-packages/django/template/response.py", line 84, in rendered_content
    template = self.resolve_template(self.template_name)
  File "/Users/username/.virtualenv/lib/python3.5/site-packages/django/template/response.py", line 66, in resolve_template
    return select_template(template, using=self.using)
  File "/Users/username/.virtualenv/lib/python3.5/site-packages/django/template/loader.py", line 53, in select_template
    raise TemplateDoesNotExist(', '.join(template_name_list), chain=chain)
django.template.exceptions.TemplateDoesNotExist: modeladmin/blog/blogpage/index.html, modeladmin/blog/index.html, modeladmin/index.html
[21/Feb/2017 07:56:38] "GET /admin/blog/blogpage/ HTTP/1.1" 500 110901

Solution

  • I suspect you've missed out adding 'wagtail.contrib.modeladmin' to INSTALLED_APPS.

    If you're using the add-on wagtail-modeladmin package (which is the only option from Wagtail 6.0 onward, as it's no longer part of Wagtail itself), the path to add to INSTALLED_APPS is 'wagtail_modeladmin'.