尝试转到我的Django应用程序的管理面板时出现此错误:
在/admin/index.html上的TemplateDoesNotExist
例外位置:/home/mhb11/.virtualenvs/redditpk/local/lib/python2.7/site-packages/django/template/loader.py in find_template,139行
模板加载器postmortem Django尝试按以下顺序加载这些模板:使用loader django.template.loaders.filesystem.Loader:使用loader django.template.loaders.app_directories.Loader:/ home/mhb11/folder/project/templates/admin /index.html(文件不存在)/home/mhb11/.virtualenvs/projectenv/local/lib/python2.7/site-packages/bootstrap_pagination/templates/admin/index.html(文件不存在)
我有一个新的Django安装,没有移动任何文件,并且django.contrib.admin
在INSTALLED_APPS中添加了settings.py .
如果我去,/.virtualenvs/projectenv/local/lib/python2.7/site-packages/django/contrib/admin/
我没有找到一个/templates/
文件夹(其中包含index.html和一堆其他文件).
但是,安装在不同机器上的完全相同的项目是否具有该/templates/
文件夹.我在我的虚拟环境中卸载并重新安装了Django,但无济于事.
在settings.py中安装的应用程序具有以下内容:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
#'django.contrib.sessions',
'user_sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.comments',
'myapp',
'myproject',
'south',
'registration',
'bootstrap_pagination',
'djcelery',
'tweepy',
'django.contrib.humanize',
'analytical',
'mathfilters',
#'request',
#'debug_toolbar',
#'analytical',
#'django_whoshere',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)
我得到的错误的完整痕迹是:
Internal Server Error: /admin/ Traceback (most recent call last): File "/home/mhb11/.virtualenvs/projectenv/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 140, in get_response response = response.render() File "/home/mhb11/.virtualenvs/projectenv/local/lib/python2.7/site-packages/django/template/response.py", line 105, in render self.content = self.rendered_content File "/home/mhb11/.virtualenvs/projectenv/local/lib/python2.7/site-packages/django/template/response.py", line 80, in rendered_content template = self.resolve_template(self.template_name) File "/home/mhb11/.virtualenvs/projectenv/local/lib/python2.7/site-packages/django/template/response.py", line 58, in resolve_template return loader.get_template(template) File "/home/mhb11/.virtualenvs/projectenv/local/lib/python2.7/site-packages/django/template/loader.py", line 146, in get_template template, origin = find_template(template_name) File "/home/mhb11/.virtualenvs/projectenv/local/lib/python2.7/site-packages/django/template/loader.py", line 139, in find_template raise TemplateDoesNotExist(name) TemplateDoesNotExist: admin/index.html
你见过类似的东西吗?我该如何解决这个问题?
我以前见过这个./templates/
不是你可能错过的唯一文件夹.请注意,您在此处放置了一个django文件夹/yourvirtualenv/django/
,其中包含所有必需的文件夹.你是从复制文件(没有过写作)什么就能解决问题/yourvirtualenv/django/
到/yourvirtualenv/local/lib/python2.7/site-packages/django/
:通过下面的ubuntu的命令rsync -a -v --ignore-existing src dst
,其中src
是/yourvirtualenv/django/
(即源)dst
是/yourvirtualenv/local/lib/python2.7/site-packages/django/
(即目标).接下来,再次启动Django管理员,它应该工作!
我不确定为什么会发生这种情况 - 有趣的是,它与传统的Django安装行为不端.如果我获得有关它的新信息,我会更新这个答案.祝好运!
我不得不安装旧django 1.3
的pip
,我遇到了类似的问题.templates
django应用程序中缺少该文件夹.
感谢@manu对@shahz回答的评论,我通过重新安装修复了问题
pip install --no-binary django django==1.3.7
需要最新版本pip
.它可能会更新
pip install --upgrade pip