我是openhift的n00b,我遇到了Django项目的问题。
我安装了这些应用程序:
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'fandjango',
'schedule', #nuestras app particulares
'accounts'
拥有schedule
和accounts
个自定义应用。
我从现有的和正在运行的openshift托管中迁移了这个(整个项目,我的意思)。当我安装每个需求(包括,再次,fandjango)时,一切都运行但是必不可少的:一个未找到的模板(已安装它的应用程序,不知道发生了什么),在相应的例外中。
TemplateDoesNotExist at /fbapp/
fandjango/facebook_init.html
如果我检查死后:
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
/var/lib/openshift/5397226f5004467c0a00044d/app-root/runtime/repo/mundial2014/templates/fandjango/facebook_init.html (File does not exist)
Using loader django.template.loaders.app_directories.Loader:
/var/lib/openshift/5397226f5004467c0a00044d/python/virtenv/lib/python2.7/site-packages/Django-1.6-py2.7.egg/django/contrib/admin/templates/fandjango/facebook_init.html (File does not exist)
/var/lib/openshift/5397226f5004467c0a00044d/python/virtenv/lib/python2.7/site-packages/Django-1.6-py2.7.egg/django/contrib/auth/templates/fandjango/facebook_init.html (File does not exist)
/var/lib/openshift/5397226f5004467c0a00044d/app-root/runtime/repo/schedule/templates/fandjango/facebook_init.html (File does not exist)
/var/lib/openshift/5397226f5004467c0a00044d/app-root/runtime/repo/accounts/templates/fandjango/facebook_init.html (File does not exist)
我的问题是:为什么不是 - app_directories loader-遍历文件?如果我打开一个python控制台并尝试import fandjango
它可以工作(即print fandjango
)输出模块表示。
模板加载器的设置是django 1.6(文件系统和应用程序目录)的默认设置,我的模板dirs设置为:
TEMPLATE_DIRS = (os.path.join(os.path.dirname(BASE_DIR), 'mundial2014', 'templates'),)
答案 0 :(得分:1)
知道了。以某种方式安装:
python setup.py install
不创建目录([...])/ site-packages / fandjango但只保留.egg文件。所以我必须pip uninstall fandjango
然后pip install fandjango
才能正确安装django应用程序(这次创建了目录)。