Django 管理站点:TemplateDoesNotExist?
Posted
技术标签:
【中文标题】Django 管理站点:TemplateDoesNotExist?【英文标题】:Django Admin Site: TemplateDoesNotExist? 【发布时间】:2011-09-23 02:07:10 【问题描述】:我正在尝试让 Django 管理界面显示我的数据库中的对象,但是每当我单击模型的名称时,都会遇到错误:
TemplateDoesNotExist 在/myAppName/myModelName/
我不明白:为什么我首先需要管理界面的任何模板? 我认为管理界面已经为我们预先制作好了,我们不需要任何自定义 html...对吗?
settings.py
:
ADMIN_MEDIA_PREFIX = '/admin_media/'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.contenttypes',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',
'my_app_name',
)
TEMPLATE_DIRS = (
'<project_path>/templates',
'<django_path>/v1_2/contrib/admin/templates',
)
admin.py
:
from my_app.models import MyModel
from django.contrib import admin
admin.site.register(MyModel)
models.py
:
from django.db import models
class MyModel(models.Model):
#my fields here
【问题讨论】:
您的模型和管理员定义看起来如何? @DontCare4Free:它们看起来像上面那样。 是否有异常消息?您是否有机会使用自定义字段?此外,管理模板不应在您的 TEMPLATE_DIRS 中,因为它们会自动包含在管理应用程序中。 大概是管理员使用模板加载器来加载模板,你在设置中改变了吗? 【参考方案1】:天哪,这太棘手了!我只是碰巧遇到了解决方案:
问题是我进入管理界面时使用了以下形式的 URL:
127.0.0.1:8000/admin
其实我应该说:
127.0.0.1:8000/admin/
解决了这个问题。 (!)
【讨论】:
这听起来像是你的 URLconf 的问题以上是关于Django 管理站点:TemplateDoesNotExist?的主要内容,如果未能解决你的问题,请参考以下文章