我遵循金字塔教程,一切正常。然后我为金字塔安装了jinja2,并在我的development.ini
文件中添加了必要的代码行。我的模板在预期的指定位置找到。它们也按照我的预期呈现。但是,在我的计算机上重新启动然后使用Alembic和SQLAlchemy后,我去查看我的网站,现在它找不到模板目录。具体来说,我得到的错误是:
jinja2.exceptions.TemplateNotFound
TemplateNotFound: my_project:templates/index.jinja2;
asset=/Users/John/project/projectenv/lib/python2.7/site-packages/my_project-0.0-py2.7.egg/my_project/templates/index.jinja2;
searchpath=['/Users/John/project/projectenv/lib/python2.7/site-packages/my_project-0.0-py2.7.egg/my_project/templates']
在我指定的development.ini
文件中:
[app:main]
use = egg:my_project
jinja2.directories = my_project:templates
对于某些参考框架,我的文件结构如下所示:
/project
/projectenv
/bin
/development.ini
/lib # where the "python2.7/site-packages/etc." is located
/my_project
/my_project # "main" project folder
/__init__.py
/models.py
/scripts
/static
/templates
/<the templates I would like to use>
/views.py
两个问题:
../python2.7/site-packages/my_project-0.0-py2.7.egg/my_project/templates
时,我从“主”/my_project
目录中找到了我的文件的“残余”。特别是,templates
文件夹及其内容不存在,但views
,models
,__init__
等等(虽然这些文件的最新更新不是当下)。当我对“main”my_project文件进行更新时,Pyramid无法识别这些更改。我需要进入我的“... 2.7.egg”文件,并在那里进行更改以便Pyramid识别它们。为什么会这样? 我的development.ini
文件配置不正确吗?或者,这是完全不相关的事情吗?
我很困惑,不知道该怎么做。任何想法,建议和直接答案都非常感谢。
谢谢你的帮助。
答案 0 :(得分:2)
听起来好像在某个时候运行python setup.py install
,这导致您的项目安装到环境的site-packages目录中。从site-packages中删除“my_project”目录/文件并运行python setup.py develop
会创建项目符号链接到站点包,并且您的更改应该立即生效。当模块在站点包中正确可用时,模板查找也应该起作用。
答案 1 :(得分:0)
或仅添加
config.add_jinja2_search_path("templates")
进入金字塔配置