You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wagtail后台添加应用点击报错TemplateDoesNotExist求助

解决Wagtail ModelAdmin点击出现TemplateDoesNotExist错误的方案

嘿,这个问题我之前做Wagtail项目时也碰到过,本质就是ModelAdmin找不到对应的模板文件来渲染页面,咱们一步步来搞定它:

1. 搭建正确的模板目录结构

Wagtail的ModelAdmin会默认去特定路径找模板,你需要在你的应用目录下创建对应的模板文件夹。假设你的应用名叫your_app(记得换成你实际的应用名称),目录结构要这样:

your_app/
    templates/
        modeladmin/
            your_app/
                teamroostertwo/
                    index.html

这里只需要先创建index.html(列表页模板)就行,内容不用自己写,直接继承Wagtail的默认模板即可:

{% extends "modeladmin/index.html" %}

这样就会复用Wagtail ModelAdmin自带的列表页样式和功能了。如果之后需要自定义创建、编辑页面的模板,再在这个目录下添加create.html、edit.html等文件,同样可以继承对应的默认模板。

2. (可选)手动指定模板路径

如果你不想按默认路径放模板,或者想自定义模板位置,可以在你的TeamRoosterModelAdmin类里添加模板属性,比如:

from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register
from .models import TeamRoosterTwo

class TeamRoosterModelAdmin(ModelAdmin):
    model = TeamRoosterTwo
    menu_label = 'Treichle Cup'
    menu_icon = 'group'
    menu_order = 200
    exclude_from_explorer = True
    # 指定列表页模板的自定义路径
    index_template = "your_app/custom_templates/team_list.html"
    # 还可以指定创建页、编辑页的模板
    # create_template = "your_app/custom_templates/team_create.html"
    # edit_template = "your_app/custom_templates/team_edit.html"

只要确保你指定的路径下存在对应的模板文件就行。

3. 检查Django的模板加载配置

最后别忘了确认你的Django项目设置里,INSTALLED_APPS已经包含了你的应用,而且TEMPLATES配置中的APP_DIRS是True,这样Django才能自动找到应用下的templates目录。比如settings.py里的相关配置应该是这样:

INSTALLED_APPS = [
    # ...其他应用
    'your_app',  # 你的应用必须在这里
    'wagtail.contrib.modeladmin',
    # ...其他Wagtail相关应用
]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,  # 这个要设为True
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'wagtail.contrib.settings.context_processors.settings',
            ],
        },
    },
]

按上面的步骤操作后,再点击后台侧边栏的"Treichle Cup"选项,应该就能正常加载页面了。

内容的提问来源于stack exchange,提问作者khashashin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:45:56