[英]Django admin /template/ folder missing after fresh install in virtualenv
尝试转到我的 Django 应用程序的管理面板时出现此错误:
TemplateDoesNotExist 位于 /admin/index.html
异常位置:/home/mhb11/.virtualenvs/redditpk/local/lib/python2.7/site-packages/django/template/loader.py in find_template, line 139
Template-loader postmortem Django 尝试按以下顺序加载这些模板: Using loader django.template.loaders.filesystem.Loader: Using 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 安装,没有移动任何文件,settings.py 在INSTALLED_APPS 中添加了django.contrib.admin
。
如果我转到/.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
你见过类似的东西吗? 我该如何解决这个问题?
我不得不用pip
安装一个旧的django 1.3
,我遇到了类似的问题。 django 应用程序中缺少templates
文件夹。
感谢@manu 对@shahz 回答的评论,我通过重新安装解决了这个问题
pip install --no-binary django django==1.3.7
需要最新版本的pip
。 它可能会更新为
pip install --upgrade pip
我以前见过这个。 /templates/
不是您可能丢失的唯一文件夹。 请注意,您在/yourvirtualenv/django/
中放置了一个 django 文件夹,其中包含所有必需的文件夹。 为您解决问题的是通过以下 ubuntu 命令将文件(不覆盖)从/yourvirtualenv/django/
/yourvirtualenv/local/lib/python2.7/site-packages/django/
到/yourvirtualenv/local/lib/python2.7/site-packages/django/
rsync -a -v --ignore-existing src dst
其中src
是/yourvirtualenv/django/
(即源), dst
是/yourvirtualenv/local/lib/python2.7/site-packages/django/
(即目标)。 接下来,再次启动 Django admin,它应该可以工作了!
我不确定为什么会发生这种情况 - 有趣的是,这是 pip 在旧 Django 安装中的行为不端。 如果我获得有关它的新信息,我会更新此答案。 祝你好运!
使用pip
版本 20.2.4,它是:
pip install --no-binary :all: "django==1.3.7"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.